Files
CHOMPStation2/.github/workflows/ci.yml
2025-08-12 08:46:46 +02:00

64 lines
1.5 KiB
YAML

name: CI Suite
on:
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-24.04
steps:
- name: Mandatory Empty Step
run: exit 0
run_linters:
name: Run Linters
needs: start_gate
uses: ./.github/workflows/run_linters.yml
run_all_tests:
name: Integration Tests
needs: start_gate
uses: ./.github/workflows/perform_regular_version_tests.yml
with:
maps: '{"paths":["USE_MAP_SOUTHERN_CROSS","USE_MAP_SOLUNA_NEXUS"]}'
max_required_byond_client: 516
run_extra_map_tests:
name: Extra Map Tests
needs: start_gate
uses: ./.github/workflows/run_extra_map_tests.yml
strategy:
fail-fast: false
matrix:
map: ${{ fromJSON('{"paths":["USE_MAP_SOUTHERN_CROSS","USE_MAP_SOLUNA_NEXUS"]}').paths }}
with:
map: ${{ matrix.map }}
completion_gate: # Serves as a non-moving target for branch rulesets
if: always() && !cancelled()
name: Completion Gate
needs:
[
run_all_tests,
run_extra_map_tests,
run_linters,
]
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) }}