Skip to content

[pull] master from goonstation:master #14908

[pull] master from goonstation:master

[pull] master from goonstation:master #14908

Workflow file for this run

# Beepsky, Goonstation's replacement for a CI service like Travis, utilizing GitHub Actions
# Based on Turdis by Yogstation
name: Beepsky
on:
pull_request:
branches: [master]
push:
jobs:
lint:
name: Run Linters
runs-on: ubuntu-22.04
if: "!contains(github.event.head_commit.message, 'skip ci')"
steps:
- uses: actions/checkout@v4
- name: Cache SpacemanDMM
uses: actions/cache@v4
with:
path: $HOME/SpacemanDMM
key: ${{ runner.os }}-spacemandmm
- name: Setup Rust
uses: hecrj/setup-rust-action@v2.0.1
- uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
cache-dependency-path: ./tgui/yarn.lock
- uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: pip
- name: Install Dependencies
run: |
touch +secret/__secret.dme
pip3 install setuptools
tools/ci/install_build_tools.sh
tools/ci/install_spaceman_dmm.sh dreamchecker
tools/bootstrap/python -c ''
- name: Check TGUI
run: |
tgui/bin/tgui --ci
- name: Misc Checks
run: |
tools/ci/check_filedirs.sh goonstation.dme
tools/ci/check_grep.sh
tools/bootstrap/python tools/ci/validate_dme.py <goonstation.dme
- name: Check Maps
run: |
tools/bootstrap/python -m dmi.test
tools/bootstrap/python -m mapmerge2.dmm_test
- name: Check Duplicate DMI Icon States
uses: spacestation13/dmi-duplicate-state-checker@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run Linter
id: linter
run: |
~/dreamchecker
odlint:
name: Lint with OpenDream
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: robinraju/release-downloader@v1.11
with:
repository: "OpenDreamProject/OpenDream"
tag: "latest"
fileName: "DMCompiler_linux-x64.tar.gz"
extract: true
- run: ./DMCompiler_linux-x64/DMCompiler --suppress-unimplemented goonstation.dme --version=515.1635
compile:
name: Compile
runs-on: ubuntu-22.04
if: "!contains(github.event.head_commit.message, 'skip ci')"
steps:
- uses: actions/checkout@v4
- name: Cache BYOND
uses: actions/cache@v4
with:
path: /home/runner/BYOND
key: ${{ runner.os }}-byond-${{ hashFiles('buildByond.conf')}}
- name: Setup BYOND
run: |
tools/ci/install_byond.sh
cd $GITHUB_WORKSPACE
printenv
echo "BYOND_SYSTEM=/home/runner/BYOND/byond" >> $GITHUB_ENV
echo "/home/runner/BYOND/byond/bin" >> $GITHUB_PATH
echo "LD_LIBRARY_PATH=/home/runner/BYOND/byond/bin:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "MANPATH=/home/runner/BYOND/byond/man:$MANPATH" >> $GITHUB_ENV
- name: Compile
run: |
tools/ci/dm.sh -DCIBUILD goonstation.dme
# - name: Prepare Artifacts
# run: |
# mkdir artifacts
# cp goonstation.dmb artifacts
# cp goonstation.rsc artifacts
# - name: Upload Artifacts
# uses: actions/upload-artifact@v4
# with:
# name: DMB + RSC
# path: ${{github.workspace}}/artifacts
compile_full:
name: "Compile and Lint with Secret Submodule"
runs-on: ubuntu-22.04
if: |
((github.event_name == 'push' && github.repository == 'goonstation/goonstation') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == 'goonstation/goonstation')) && !contains(github.event.head_commit.message, 'skip ci')
steps:
- uses: actions/checkout@v4
with:
submodules: true
token: "${{ secrets.ROBUDDYBOT_PAT }}"
- name: Cache BYOND
uses: actions/cache@v4
with:
path: /home/runner/BYOND
key: ${{ runner.os }}-byond-${{ hashFiles('buildByond.conf')}}
- name: Setup BYOND
run: |
tools/ci/install_byond.sh
cd $GITHUB_WORKSPACE
printenv
echo "BYOND_SYSTEM=/home/runner/BYOND/byond" >> $GITHUB_ENV
echo "/home/runner/BYOND/byond/bin" >> $GITHUB_PATH
echo "LD_LIBRARY_PATH=/home/runner/BYOND/byond/bin:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "MANPATH=/home/runner/BYOND/byond/man:$MANPATH" >> $GITHUB_ENV
- name: Cache SpacemanDMM
uses: actions/cache@v4
with:
path: $HOME/SpacemanDMM
key: ${{ runner.os }}-spacemandmm
- name: Setup Rust
uses: hecrj/setup-rust-action@v2.0.1
- uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
cache-dependency-path: ./tgui/yarn.lock
- uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: pip
- name: Install Dependencies
run: |
pip3 install setuptools
tools/ci/install_build_tools.sh
tools/ci/install_spaceman_dmm.sh dreamchecker
tools/bootstrap/python -c ''
- name: Misc Checks
run: |
tools/ci/check_filedirs.sh goonstation.dme
tgui/bin/tgui --ci
tools/ci/check_grep_secret.sh
tools/bootstrap/python tools/ci/validate_dme.py <goonstation.dme
tools/bootstrap/python -m dmi.test
tools/bootstrap/python -m mapmerge2.dmm_test
- name: Run Linter
id: linter
run: |
~/dreamchecker
- name: Compile
run: |
tools/ci/dm.sh -DCIBUILD goonstation.dme