From 6575ef74e9348e29c4ea3ecab6339f7694fc3bcf Mon Sep 17 00:00:00 2001 From: Zakary Timson Date: Tue, 14 Jul 2026 20:52:55 -0400 Subject: [PATCH] Update .github/workflows/build.yaml --- .github/workflows/build.yaml | 174 ++++++++++++++++++----------------- 1 file changed, 92 insertions(+), 82 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 189dcac..d291551 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,82 +1,92 @@ -name: Build Website -run-name: Build Website - -on: - push: - -jobs: - build: - name: Build NPM Project - runs-on: ubuntu-latest - container: node - steps: - - name: Clone Repository - uses: ztimson/actions/clone@develop - - - name: Install Dependencies - run: npm i - - - name: Build Project - run: npm run build - - - name: Upload Artifacts - uses: actions/upload-artifact@v3 - with: - name: website - path: dist - retention-days: 7 - - tag: - name: Tag Version - needs: build - runs-on: ubuntu-latest - container: node - steps: - - name: Clone Repository - uses: ztimson/actions/clone@develop - - - name: Get Version Number - run: echo "VERSION=$(cat package.json | grep version | grep -Eo ':.+' | grep -Eo '[[:alnum:]\.\/\-]+')" >> $GITHUB_ENV - - - name: Tag Version - uses: ztimson/actions/tag@develop - with: - tag: ${{env.VERSION}} - - container: - name: Build Container - runs-on: ubuntu-latest - container: docker - steps: - - name: Build Container - run: | - git clone -b "${{github.ref_name}}" "$(echo ${{github.server_url}}/${{github.repository}}.git | sed s%://%://${{github.token}}@% )" . - DOCKER_HUB=$([ -n "${{secrets.DOCKER_HUB_USER}}" ] && [ -n "${{secrets.DOCKER_HUB_TOKEN}}" ] && [ -n "${{secrets.DOCKER_HUB_IMAGE}}" ] && echo "true" || echo "false") - REGISTRY="$(echo "${{github.server_url}}" | sed -E 's|https?://||')" - VERSION=$(cat package.json | grep version | grep -Eo '[0-9][[:alnum:]\.\/\-]+') - - docker login -u "${{github.repository_owner}}" -p "${{secrets.DEPLOY_TOKEN}}" "$REGISTRY" - if [ "$DOCKER_HUB" = "true" ]; then docker login -u "${{secrets.DOCKER_HUB_USER}}" -p "${{secrets.DOCKER_HUB_TOKEN}}" docker.io; fi - - docker build -t "$REGISTRY/${{github.repository}}:${{github.ref_name}}" . - docker push "$REGISTRY/${{github.repository}}:${{github.ref_name}}" - if [ "$DOCKER_HUB" = "true" ]; then - docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:${{github.ref_name}}" - docker push "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:${{github.ref_name}}" - fi - - if [ "${{github.ref_name}}" = "master" ]; then - docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "$REGISTRY/${{github.repository}}:$VERSION" - docker push "$REGISTRY/${{github.repository}}:$VERSION" - if [ "$DOCKER_HUB" = "true" ]; then - docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:$VERSION" - docker push "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:$VERSION" - fi - - docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "$REGISTRY/${{github.repository}}:latest" - docker push "$REGISTRY/${{github.repository}}:latest" - if [ "$DOCKER_HUB" = "true" ]; then - docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:latest" - docker push "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:latest" - fi - fi +name: Build Website +run-name: Build Website + +on: + push: + +jobs: + build: + name: Build NPM Project + runs-on: ubuntu-latest + container: node + steps: + - name: Clone Repository + uses: ztimson/actions/clone@develop + + - name: Install Dependencies + run: npm i + + - name: Build Project + run: npm run build + + - name: Upload Artifacts + uses: actions/upload-artifact@v3 + with: + name: website + path: dist + retention-days: 7 + + tag: + name: Tag Version + needs: build + runs-on: ubuntu-latest + container: node + steps: + - name: Clone Repository + uses: ztimson/actions/clone@develop + + - name: Get Version Number + run: echo "VERSION=$(cat package.json | grep version | grep -Eo ':.+' | grep -Eo '[[:alnum:]\.\/\-]+')" >> $GITHUB_ENV + + - name: Tag Version + uses: ztimson/actions/tag@develop + with: + tag: ${{env.VERSION}} + + container: + name: Build Container + runs-on: ubuntu-latest + container: docker + steps: + - name: Build Container + run: | + git clone -b "${{github.ref_name}}" "$(echo ${{github.server_url}}/${{github.repository}}.git | sed s%://%://${{github.token}}@% )" . + DOCKER_HUB=$([ -n "${{secrets.DOCKER_HUB_USER}}" ] && [ -n "${{secrets.DOCKER_HUB_TOKEN}}" ] && [ -n "${{secrets.DOCKER_HUB_IMAGE}}" ] && echo "true" || echo "false") + REGISTRY="$(echo "${{github.server_url}}" | sed -E 's|https?://||')" + VERSION=$(cat package.json | grep version | grep -Eo '[0-9][[:alnum:]\.\/\-]+') + + docker login -u "${{github.repository_owner}}" -p "${{secrets.DEPLOY_TOKEN}}" "$REGISTRY" + if [ "$DOCKER_HUB" = "true" ]; then docker login -u "${{secrets.DOCKER_HUB_USER}}" -p "${{secrets.DOCKER_HUB_TOKEN}}" docker.io; fi + + docker build -t "$REGISTRY/${{github.repository}}:${{github.ref_name}}" . + docker push "$REGISTRY/${{github.repository}}:${{github.ref_name}}" + if [ "$DOCKER_HUB" = "true" ]; then + docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:${{github.ref_name}}" + docker push "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:${{github.ref_name}}" + fi + + if [ "${{github.ref_name}}" = "master" ]; then + docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "$REGISTRY/${{github.repository}}:$VERSION" + docker push "$REGISTRY/${{github.repository}}:$VERSION" + if [ "$DOCKER_HUB" = "true" ]; then + docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:$VERSION" + docker push "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:$VERSION" + fi + + docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "$REGISTRY/${{github.repository}}:latest" + docker push "$REGISTRY/${{github.repository}}:latest" + if [ "$DOCKER_HUB" = "true" ]; then + docker tag "$REGISTRY/${{github.repository}}:${{github.ref_name}}" "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:latest" + docker push "docker.io/${{secrets.DOCKER_HUB_IMAGE}}:latest" + fi + fi + + deploy: + name: Deploy Container + runs-on: ubuntu-latest + container: node + needs: + - container + steps: + - name: Deploy + run: curl -X POST https://manage.zakscode.com/api/stacks/webhooks/3c8ec201-e8ad-4878-b35a-0f6a99d5f6cf