Files
LemonInTheDarkandGitHub 4c88909444 Revert "Don't run CI on pushed commits (while keeping pull requests)" (#96704)
This makes it far harder to find like, the first instance of master
breaking in ci, which annoys me, and I'm not sure it's worth the time it
saves.

Reverts tgstation/tgstation#91163
2026-06-28 22:55:55 +00:00

97 lines
2.8 KiB
YAML

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-24.04
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 }}
map_config: ${{ needs.collect_data.outputs.map_config }}
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
completion_gate: # Serves as a non-moving target for branch rulesets
if: always() && !cancelled()
name: Completion Gate
needs:
[
compare_screenshots,
compile_all_maps,
run_all_tests,
run_alternate_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) }}
allowed-skips: compare_screenshots