Skip to content

[TESTMERGE READY] Crater Station - A New Icemoon Base for the Modern Age #19475

[TESTMERGE READY] Crater Station - A New Icemoon Base for the Modern Age

[TESTMERGE READY] Crater Station - A New Icemoon Base for the Modern Age #19475

Workflow file for this run

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