MC: subsystem time dilation tracking, scheduling tweaks (#6601) #31
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/**' | |
pull_request: | |
branches: | |
- master | |
- 'project/**' | |
jobs: | |
run_linters: | |
name: Run Linters | |
runs-on: ubuntu-22.04 | |
concurrency: | |
group: run_linters-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
steps: | |
- name: Checkout Branch | |
uses: actions/checkout@v3 | |
- name: Restore Bootstrap cache | |
uses: actions/cache@v3 | |
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@v3 | |
with: | |
path: ~/.cargo | |
key: ${{ runner.os }}-rust- | |
- name: Restore TGUI / Yarn cache | |
uses: actions/cache@v3 | |
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@v3 | |
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: Install Setuptools | |
# run: | | |
# pip3 install setuptools | |
- name: CI - Parse DM (dreamchecker) | |
run: | | |
~/dreamchecker > ${GITHUB_WORKSPACE}/output-annotations.txt 2>&1 | |
- name: CI - Annotate DM (dreamchecker) | |
if: always() | |
uses: yogstation13/DreamAnnotate@v2 | |
with: | |
outputFile: output-annotations.txt | |
- name: CI - DMI Tests | |
if: always() | |
run: | | |
tools/bootstrap/python -m dmi.test | |
- name: CI - DMM Tests | |
if: always() | |
run: | | |
tools/bootstrap/python -m mapmerge2.dmm_test | |
- name: CI - TGUI | |
if: always() | |
run: | | |
tools/build/build --ci lint tgui-test | |
- name: CI - Grep (string checks) | |
if: always() | |
run: | | |
tools/ci/check_grep.sh | |
- name: CI - Changelogs | |
if: always() | |
run: | | |
tools/ci/check_changelogs.sh | |
- name: CI - DME Validation | |
if: always() | |
run: | | |
tools/ci/check_filedirs.sh citadel.dme | |
- name: CI - Misc | |
if: always() | |
run: | | |
bash tools/ci/check_misc.sh | |
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 |