name: Web Deployment Container on: workflow_dispatch: {} pull_request: branches: - main types: - opened - reopened - synchronize - ready_for_review push: branches: - main paths: - web/** jobs: determine-workflow: runs-on: 'ubuntu-latest' outputs: workflow_type: ${{ steps.workflow.outputs.workflow_type }} workflow_envs: ${{ steps.workflow.outputs.workflow_envs }} release_type: ${{ steps.workflow.outputs.release_type }} steps: - name: Determine Workflow id: workflow shell: bash run: | event=${{ github.event_name }} workflow_type='dev'; workflow_envs='["dev"]' if [[ $event == 'workflow_dispatch' && '${{ github.ref_name }}' == 'main' ]]; then workflow_type='release'; workflow_envs='["prod"]' fi echo "workflow_type=$workflow_type" >> $GITHUB_OUTPUT echo "workflow_envs=$workflow_envs" >> $GITHUB_OUTPUT echo "Running $workflow_type pipeline in environments: $workflow_envs" >> $GITHUB_STEP_SUMMARY nonprod-deploy: needs: determine-workflow if: needs.determine-workflow.outputs.workflow_type != 'release' 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 }} permissions: contents: read packages: write prod-deploy: needs: determine-workflow if: needs.determine-workflow.outputs.workflow_type == 'release' strategy: max-parallel: 1 matrix: env: ${{ fromJson(needs.determine-workflow.outputs.workflow_envs) }} uses: Doble-Technologies/ShiftSync-Website/.github/workflows/web-deploy-prod.yml@main with: environments: ${{ matrix.env }} workflow_type: ${{ needs.determine-workflow.outputs.workflow_type }} branch: ${{ github.ref_name }} permissions: contents: read packages: write