Run tests #22274
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: Run tests | |
on: | |
workflow_dispatch: | |
# push: | |
# paths-ignore: | |
# - "html/changelogs/**" | |
# - "html/changelog.html" | |
pull_request: | |
branches: | |
- master | |
merge_group: | |
branches: | |
- master | |
jobs: | |
run_linters: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Python setup | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
cache: 'pip' | |
- name: Cache SpacemanDMM | |
id: cache-spacemandmm | |
uses: actions/cache@v3 | |
with: | |
path: ~/dreamchecker | |
key: ${{ runner.os }}-spacemandmm-cache-${{ hashFiles('dependencies.sh') }} | |
- name: Install SpacemanDMM | |
if: steps.cache-spacemandmm.outputs.cache-hit != 'true' | |
run: bash tools/ci/install_spaceman_dmm.sh dreamchecker | |
- name: Install Tools | |
run: | | |
pip install setuptools | |
bash tools/ci/install_node.sh | |
pip install -r tools/requirements.txt | |
- name: Cache Yarn | |
id: cache-yarn | |
uses: actions/cache@v3 | |
with: | |
path: tgui/.yarn | |
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('tgui/yarn.lock') }} | |
- name: TGUI fetch | |
if: steps.cache-yarn.outputs.cache-hit != 'true' | |
run: | | |
tools/build/build --ci yarn | |
- name: Run Linters | |
run: | | |
bash tools/ci/check_filedirs.sh beestation.dme | |
bash tools/ci/check_changelogs.sh | |
find . -name "*.php" -print0 | xargs -0 -n1 php -l | |
find . -name "*.json" -not -path "*/node_modules/*" -print0 | xargs -0 python ./tools/json_verifier.py | |
bash tools/ci/check_grep.sh | |
tools/build/build --ci lint tgui-test | |
tools/bootstrap/python -m dmi.test | |
tools/bootstrap/python -m mapmerge2.dmm_test | |
~/dreamchecker | |
compile_all_maps: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup cache | |
id: cache-byond | |
uses: actions/cache@v3 | |
with: | |
path: ~/BYOND | |
key: ${{ runner.os }}-byond-cache-${{ hashFiles('Dockerfile') }} | |
- name: Install BYOND | |
if: steps.cache-byond.outputs.cache-hit != 'true' | |
run: bash tools/ci/install_byond.sh | |
- name: Compile All Maps | |
run: | | |
source $HOME/BYOND/byond/bin/byondsetup | |
python3 tools/ci/template_dm_generator.py | |
tools/build/build --ci dm -DCIBUILDING -DCITESTING -DALL_MAPS | |
run_all_tests: | |
runs-on: ubuntu-20.04 | |
services: | |
mariadb: | |
image: mariadb:latest | |
env: | |
MYSQL_ROOT_PASSWORD: root | |
ports: | |
- 3306 | |
options: --health-cmd="mariadb-admin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Cache BYOND | |
id: cache-byond | |
uses: actions/cache@v3 | |
with: | |
path: ~/BYOND | |
key: ${{ runner.os }}-byond-cache-${{ hashFiles('Dockerfile') }} | |
- name: Install BYOND | |
if: steps.cache-byond.outputs.cache-hit != 'true' | |
run: bash tools/ci/install_byond.sh | |
- name: Setup database | |
run: | | |
sudo systemctl start mysql | |
mysql -u root -proot -e 'CREATE DATABASE bee_ci;' | |
mysql -u root -proot bee_ci < SQL/beestation_schema.sql | |
- name: Install rust-g | |
run: | | |
sudo dpkg --add-architecture i386 | |
sudo apt update || true | |
sudo apt install libssl1.1:i386 | |
bash tools/ci/install_rust_g.sh | |
- name: Install auxmos | |
run: | | |
bash tools/ci/install_auxmos.sh | |
- name: Cache Yarn | |
id: cache-yarn | |
uses: actions/cache@v3 | |
with: | |
path: tgui/.yarn | |
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('tgui/yarn.lock') }} | |
- name: TGUI fetch | |
if: steps.cache-yarn.outputs.cache-hit != 'true' | |
run: | | |
tools/build/build --ci yarn | |
- name: Compile and run tests | |
run: | | |
source $HOME/BYOND/byond/bin/byondsetup | |
tools/build/build --ci build -DCIBUILDING | |
bash tools/ci/run_server.sh | |
test_windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Cache Yarn | |
id: cache-yarn | |
uses: actions/cache@v3 | |
with: | |
path: tgui/.yarn | |
key: ${{ runner.os }}-yarn-cache-${{ hashFiles('tgui/yarn.lock') }} | |
- name: Cache BYOND | |
id: cache-byond | |
uses: actions/cache@v3 | |
with: | |
path: C:/byond | |
key: ${{ runner.os }}-byond-cache-${{ hashFiles('dependencies.sh') }} | |
- name: TGUI fetch | |
if: steps.cache-yarn.outputs.cache-hit != 'true' | |
run: | | |
tools/build/build --ci yarn | |
- name: Compile | |
run: pwsh tools/ci/build.ps1 | |
env: | |
DM_EXE: "C:\\byond\\bin\\dm.exe" |