diff --git a/.github/workflows/web-container.yml b/.github/workflows/web-container.yml index 66b1a5c..d75ad15 100644 --- a/.github/workflows/web-container.yml +++ b/.github/workflows/web-container.yml @@ -39,74 +39,27 @@ jobs: echo "workflow_envs=$workflow_envs" >> $GITHUB_OUTPUT echo "Running $workflow_type pipeline in environments: $workflow_envs" >> $GITHUB_STEP_SUMMARY - nonprod-build: + nonprod-deploy: needs: determine-workflow if: needs.determine-workflow.outputs.workflow_type != 'release' - environment: dev - runs-on: 'ubuntu-latest' - outputs: - workflow_type: needs.determine-workflow.outputs.workflow_type - permissions: - contents: read - packages: write - steps: - - uses: actions/checkout@v4 - - name: Login to Docker - uses: docker/login-action@v3 - with: - registry: docker.io - username: ${{ secrets.DOCKERHUB_USER }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Docker Build Backend - run: docker build -f web/Dockerfile -t john4064/shiftsync:latest_web ./web --build-arg TEST=${{ secrets.TEST }} - - name: Docker Push Backend - run: docker push john4064/shiftsync:latest_web - nonprod-deploy: - needs: nonprod-build - if: needs.nonprod-build.result == 'success' && needs.nonprod-build.outputs.workflow_type != 'release' - environment: dev - runs-on: 'ubuntu-latest' - permissions: - contents: read - packages: write - steps: - - name: Deploy to Coolify - run: | - echo ${{ needs.determine-workflow.outputs.workflow_type }} - curl --request GET '${{ secrets.COOLIFY_WEBHOOK }}' --header 'Authorization: Bearer ${{ secrets.COOLIFY_TOKEN }}' - prod-build: + strategy: + max-parallel: 1 + matrix: + env: ${{ fromJson(needs.determine-workflow.outputs.workflow_envs) }} + uses: Doble-Technologies/ShiftSync-Website/.github/workflows/web-deploy-nonprod.yml@main + with: + environments: ${{ matrix.env }} + workflow_type: ${{ needs.determine-workflow.outputs.workflow_type }} + branch: ${{ github.ref_name }} + prod-deploy: needs: determine-workflow if: needs.determine-workflow.outputs.workflow_type == 'release' - environment: prod - runs-on: 'ubuntu-latest' - outputs: - workflow_type: needs.determine-workflow.outputs.workflow_type - permissions: - contents: read - packages: write - steps: - - uses: actions/checkout@v4 - - name: Login to Docker - uses: docker/login-action@v3 - with: - registry: docker.io - username: ${{ secrets.DOCKERHUB_USER }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Docker Build Backend - run: docker build -f web/Dockerfile -t john4064/shiftsync:latest_web ./web --build-arg TEST=${{ secrets.TEST }} - - name: Docker Push Backend - run: docker push john4064/shiftsync:latest_web - prod-deploy: - needs: prod-build - if: needs.prod-build.result == 'success' && needs.prod-build.outputs.workflow_type == 'release' - environment: prod - runs-on: 'ubuntu-latest' - permissions: - contents: read - packages: write - steps: - - name: Deploy to Coolify - run: | - echo ${{ needs.determine-workflow.outputs.workflow_type }} - curl --request GET '${{ secrets.COOLIFY_WEBHOOK }}' --header 'Authorization: Bearer ${{ secrets.COOLIFY_TOKEN }}' - + strategy: + max-parallel: 1 + matrix: + env: ${{ fromJson(needs.determine-workflow.outputs.workflow_envs) }} + uses: Doble-Technologies/ShiftSync-Website/.github/workflows/web-deploy-nonprod.yml@main + with: + environments: ${{ matrix.env }} + workflow_type: ${{ needs.determine-workflow.outputs.workflow_type }} + branch: ${{ github.ref_name }}