stuff #271
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
# 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/[email protected] | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 16 | |
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 '' | |
touch +secret/__secret.dme | |
- 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 | |
- run: touch +secret/__secret.dme | |
- uses: robinraju/[email protected] | |
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/BYOND | |
key: ${{ runner.os }}-byond | |
- 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 | |
touch +secret/__secret.dme | |
- 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/BYOND | |
key: ${{ runner.os }}-byond | |
- 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/[email protected] | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 16 | |
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 '' | |
touch +secret/__secret.dme | |
- 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 |