Files
san7890 34289bfce8 Standardizes all CI to run on ubuntu-24.04 (#94410)
## About The Pull Request

<img width="908" height="878" alt="image"
src="https://github.com/user-attachments/assets/7262576b-f7d9-4be4-8cff-6662f85698fd"
/>

Our application of Ubuntu 22.04 versus Ubuntu 24.04 (which is presently
the version for `ubuntu-latest`) is pretty inconsistent even within the
same suites, I figure we bump it up and set one standard moving
forwards. This PR was originally set to autoset it to `ubuntu-latest`
but wow the issues are agonizing so let's just bump it up and keep it
synchronized

also bumps python to `3.11.0` and whatever dependency versions needed
that as that was necessary
2025-12-13 20:36:10 -05:00

90 lines
2.6 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
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
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