init as tg intended #18549
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: | |
run_linters: | |
name: Run Linters | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Restore Bootstrap cache | |
uses: actions/cache@v4 | |
with: | |
path: tools/bootstrap/.cache | |
key: ${{ runner.os }}-bootstrap-${{ hashFiles('dependencies.sh', 'tools/requirements.txt') }} | |
restore-keys: | | |
${{ runner.os }}-bootstrap- | |
- name: Restore Rust / Cargo cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cargo | |
key: ${{ runner.os }}-rust- | |
- name: Restore TGUI / Yarn cache | |
uses: actions/cache@v4 | |
with: | |
path: tgui/.yarn/cache | |
key: ${{ runner.os }}-yarn-${{ hashFiles('tgui/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Restore SpacemanDMM cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/SpacemanDMM | |
key: ${{ runner.os }}-spacemandmm-${{hashFiles('dependencies.sh')}} | |
- name: Install Node | |
run: | | |
tools/bootstrap/node --version | |
- name: Install Python | |
run: | | |
tools/bootstrap/python --version | |
- name: Install SpacemanDMM Suite | |
run: | | |
bash tools/ci/install/install_spaceman_dmm.sh dreamchecker | |
- name: Install Ripgrep | |
run: | | |
cargo install ripgrep --features pcre2 | |
- name: Give Linters A Go | |
id: linter-setup | |
run: ':' | |
- name: Run Grep Checks | |
if: steps.linter-setup.conclusion == 'success' && !cancelled() | |
run: bash tools/ci/check_grep.sh | |
- name: Run DreamChecker | |
if: steps.linter-setup.conclusion == 'success' && !cancelled() | |
shell: bash | |
run: ~/dreamchecker 2>&1 | bash tools/ci/annotate_dm.sh | |
- name: Run Map Checks | |
if: steps.linter-setup.conclusion == 'success' && !cancelled() | |
run: | | |
tools/bootstrap/python -m mapmerge2.dmm_test | |
- name: Run DMI Tests | |
if: steps.linter-setup.conclusion == 'success' && !cancelled() | |
run: tools/bootstrap/python -m dmi.test | |
- name: Check File Directories | |
if: steps.linter-setup.conclusion == 'success' && !cancelled() | |
run: bash tools/ci/check_filedirs.sh citadel.dme | |
- name: Check Changelogs | |
if: steps.linter-setup.conclusion == 'success' && !cancelled() | |
run: bash tools/ci/check_changelogs.sh | |
- name: Check Miscellaneous Files | |
if: steps.linter-setup.conclusion == 'success' && !cancelled() | |
run: bash tools/ci/check_misc.sh | |
- name: Run TGUI Checks | |
if: steps.linter-setup.conclusion == 'success' && !cancelled() | |
run: tools/build/build --ci lint tgui-test | |
compile_all_maps: | |
name: Compile Maps | |
runs-on: ubuntu-22.04 | |
concurrency: | |
group: compile_all_maps-${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup cache | |
uses: actions/cache@v3 | |
with: | |
path: ~/BYOND | |
key: ${{ runner.os }}-byond | |
- name: Compile All Maps | |
run: | | |
bash tools/ci/install/install_byond.sh | |
source $HOME/BYOND/byond/bin/byondsetup | |
tools/build/build --ci dm -DCIBUILDING -DCITESTING -DALL_MAPS | |
run_all_tests: | |
name: Integration Tests | |
concurrency: | |
group: run_all_tests-${{ github.ref }} | |
cancel-in-progress: true | |
runs-on: ubuntu-22.04 | |
services: | |
mysql: | |
image: mysql:latest | |
env: | |
MYSQL_ROOT_PASSWORD: root | |
ports: | |
- 3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Restore BYOND cache | |
uses: actions/cache@v3 | |
with: | |
path: ~/BYOND | |
key: ${{ runner.os }}-byond | |
- name: Setup database | |
run: | | |
sudo systemctl start mysql | |
mysql -u root -proot -e 'CREATE DATABASE ss13_ci;' | |
mysql -u root -proot ss13_ci < SQL/database_schema_prefixed.sql | |
mysql -u root -proot ss13_ci < SQL/unified_schema.sql | |
# mysql -u root -proot -e 'CREATE DATABASE tg_ci_prefixed;' | |
# mysql -u root -proot tg_ci_prefixed < SQL/tgstation_schema_prefixed.sql | |
- name: Install rust-g | |
run: | | |
bash tools/ci/install/install_rust_g.sh | |
- name: Compile and run tests | |
run: | | |
bash tools/ci/install/install_byond.sh | |
source $HOME/BYOND/byond/bin/byondsetup | |
tools/build/build --ci dm -DCIBUILDING -DCITESTING | |
bash tools/ci/run_server.sh | |
env: | |
CBT_BUILD_MODE: TEST_RUN |