Skip to content

CI Suite

CI Suite #5799

Workflow file for this run

name: CI Suite
on:
push:
branches:
- master220
- whitelist220
- testmerge
- tutorial
- dev
pull_request:
branches:
- master220
- whitelist220
- tutorial
merge_group:
branches:
- master220
workflow_call:
workflow_run:
workflows: ["Build and verify Rust library"]
types: [completed]
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-24.04
steps:
- name: Mandatory Empty Step
run: exit 0
collect_data:
name: Collect data and setup caches for other tasks
needs: start_gate
uses: ./.github/workflows/collect_data.yml
run_linters:
name: Run Linters
needs: start_gate
uses: ./.github/workflows/run_linters.yml
compile_all_maps:
name: Compile Maps
needs: collect_data
uses: ./.github/workflows/compile_all_maps.yml
setup_build_artifacts:
name: Setup build artifacts
needs: collect_data
uses: ./.github/workflows/setup_build_artifacts.yml
station_mapload_tests:
name: Station Tests
needs: [collect_data, setup_build_artifacts]
uses: ./.github/workflows/perform_station_tests.yml
with:
stations: ${{ needs.collect_data.outputs.stations }}
game_tests:
name: SQL Validation + Game Tests
needs: [collect_data, setup_build_artifacts]
uses: ./.github/workflows/run_game_tests.yml
completion_gate:
if: always() && !cancelled()
name: Completion Gate
needs: [run_linters, compile_all_maps, station_mapload_tests, game_tests]
runs-on: ubuntu-24.04
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}