Core: Add course mailing campaigns (#2009) #4894
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Deploy to Dev | |
| on: | |
| pull_request: | |
| branches: [main] | |
| paths-ignore: | |
| - "**.md" | |
| - "docs/**" | |
| - ".gitignore" | |
| - "LICENSE" | |
| - ".github/ISSUE_TEMPLATE/**" | |
| - ".github/workflows/build-docs.yml" | |
| - ".github/workflows/discord-notifications.yml" | |
| push: | |
| branches: [main] | |
| paths-ignore: | |
| - "**.md" | |
| - "docs/**" | |
| - ".gitignore" | |
| - "LICENSE" | |
| - ".github/ISSUE_TEMPLATE/**" | |
| - ".github/workflows/build-docs.yml" | |
| - ".github/workflows/discord-notifications.yml" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| packages: write | |
| jobs: | |
| assign-author: | |
| if: github.event_name == 'pull_request' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| pull-requests: write | |
| steps: | |
| - name: Assign PR author | |
| uses: actions/github-script@v9 | |
| with: | |
| script: | | |
| const pr = context.payload.pull_request; | |
| const author = pr.user.login; | |
| const authorType = pr.user.type; | |
| if (authorType === 'Bot') { | |
| console.log(`Skipping assignment: PR author "${author}" is a bot.`); | |
| return; | |
| } | |
| try { | |
| await github.rest.issues.addAssignees({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| issue_number: pr.number, | |
| assignees: [author] | |
| }); | |
| } catch (error) { | |
| console.log(`Could not assign author "${author}": ${error.message}`); | |
| } | |
| detect-migrations: | |
| if: github.event_name == 'pull_request' | |
| uses: ./.github/workflows/detect-migrations.yml | |
| secrets: inherit | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| quality-servers: | |
| uses: ./.github/workflows/quality-servers.yml | |
| test-servers: | |
| needs: quality-servers | |
| uses: ./.github/workflows/test-servers.yml | |
| build-servers: | |
| needs: | |
| - quality-servers | |
| - test-servers | |
| uses: ./.github/workflows/build-and-push-servers.yml | |
| secrets: inherit | |
| quality-clients: | |
| uses: ./.github/workflows/quality-clients.yml | |
| e2e-tests: | |
| needs: [quality-servers, quality-clients] | |
| uses: ./.github/workflows/test-e2e.yml | |
| permissions: | |
| contents: read | |
| build-clients: | |
| needs: quality-clients | |
| uses: ./.github/workflows/build-and-push-clients.yml | |
| secrets: inherit | |
| deploy-dev: | |
| needs: [build-clients, build-servers, e2e-tests] | |
| uses: ./.github/workflows/deploy-docker.yml | |
| secrets: inherit | |
| with: | |
| environment: prompt-dev-vm | |
| core_image_tag: ${{ needs.build-clients.outputs.core_image_tag }} | |
| example_image_tag: ${{ needs.build-clients.outputs.example_image_tag }} | |
| interview_image_tag: ${{ needs.build-clients.outputs.interview_image_tag }} | |
| matching_image_tag: ${{ needs.build-clients.outputs.matching_image_tag }} | |
| assessment_image_tag: ${{ needs.build-clients.outputs.assessment_image_tag }} | |
| team_allocation_image_tag: ${{ needs.build-clients.outputs.team_allocation_image_tag }} | |
| self_team_allocation_image_tag: ${{ needs.build-clients.outputs.self_team_allocation_image_tag }} | |
| server_core_image_tag: ${{ needs.build-servers.outputs.server_core_image_tag }} | |
| server_team_allocation_image_tag: ${{ needs.build-servers.outputs.server_team_allocation_image_tag }} | |
| server_assessment_image_tag: ${{ needs.build-servers.outputs.server_assessment_image_tag }} | |
| server_interview_image_tag: ${{ needs.build-servers.outputs.server_interview_image_tag }} | |
| server_self_team_allocation_image_tag: ${{ needs.build-servers.outputs.server_self_team_allocation_image_tag }} | |
| server_certificate_image_tag: ${{ needs.build-servers.outputs.server_certificate_image_tag }} | |
| certificate_image_tag: ${{ needs.build-clients.outputs.certificate_image_tag }} | |
| presentation_image_tag: ${{ needs.build-clients.outputs.presentation_image_tag }} | |
| server_presentation_image_tag: ${{ needs.build-servers.outputs.server_presentation_image_tag }} |