[TESTMERGE READY] Crater Station - A New Icemoon Base for the Modern Age #19475
Workflow file for this run
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: CI Suite | |
on: | |
push: | |
branches: | |
- master | |
- 'project/**' | |
- 'gh-readonly-queue/master/**' | |
- 'gh-readonly-queue/project/**' | |
pull_request: | |
branches: | |
- master | |
- 'project/**' | |
merge_group: | |
branches: | |
- master | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
start_gate: | |
if: ( !contains(github.event.head_commit.message, '[ci skip]') ) | |
name: Start Gate | |
runs-on: ubuntu-latest | |
steps: | |
- name: Mandatory Empty Step | |
run: exit 0 | |
run_linters: | |
name: Run Linters | |
needs: start_gate | |
uses: ./.github/workflows/run_linters.yml | |
collect_data: | |
name: Collect data and setup caches for other tasks | |
needs: start_gate | |
uses: ./.github/workflows/collect_data.yml | |
compile_all_maps: | |
name: Compile Maps | |
needs: collect_data | |
uses: ./.github/workflows/compile_all_maps.yml | |
with: | |
max_required_byond_client: ${{ needs.collect_data.outputs.max_required_byond_client }} | |
setup_build_artifacts: | |
name: Setup build artifacts | |
needs: collect_data | |
uses: ./.github/workflows/setup_build_artifacts.yml | |
with: | |
build_versions: ${{ needs.collect_data.outputs.required_build_versions }} | |
run_all_tests: | |
name: Integration Tests | |
needs: [collect_data, setup_build_artifacts] | |
uses: ./.github/workflows/perform_regular_version_tests.yml | |
with: | |
maps: ${{ needs.collect_data.outputs.maps }} | |
max_required_byond_client: ${{ needs.collect_data.outputs.max_required_byond_client }} | |
run_alternate_tests: | |
if: needs.collect_data.outputs.alternate_tests != '[]' | |
name: Alternate Tests | |
needs: [collect_data, setup_build_artifacts] | |
uses: ./.github/workflows/perform_alternate_version_tests.yml | |
with: | |
alternate_tests: ${{ needs.collect_data.outputs.alternate_tests }} | |
default_max_required_byond_client: ${{ needs.collect_data.outputs.max_required_byond_client }} | |
compare_screenshots: | |
if: needs.collect_data.outputs.alternate_tests == '[]' || needs.run_alternate_tests.result == 'success' | |
needs: [ collect_data, run_all_tests, run_alternate_tests ] | |
name: Compare Screenshot Tests | |
uses: ./.github/workflows/compare_screenshots.yml | |
test_windows: | |
name: Windows Build | |
needs: collect_data | |
uses: ./.github/workflows/test_windows.yml | |
with: | |
max_required_byond_client: ${{needs.collect_data.outputs.max_required_byond_client}} | |
completion_gate: # Serves as a non-moving target for branch rulesets | |
if: always() && !cancelled() | |
name: Completion Gate | |
needs: [ test_windows, compare_screenshots, compile_all_maps, run_all_tests, run_alternate_tests, run_linters ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Decide whether the needed jobs succeeded or failed | |
uses: re-actors/alls-green@release/v1 | |
with: | |
jobs: ${{ toJSON(needs) }} | |
allowed-skips: compare_screenshots |