Run UpdatePaths
#1018
Workflow file for this run
This file contains hidden or 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-latest | |
| if: "!contains(github.event.head_commit.message, 'skip ci')" | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Read SpacemanDMM ref from config | |
| id: smver | |
| run: | | |
| REF="$(grep -E '^SPACEMAN_DMM_REF=' buildByond.conf | cut -d= -f2)" | |
| if [[ -z "$REF" ]]; then echo "SPACEMAN_DMM_REF missing"; exit 1; fi | |
| echo "ref=$REF" >> "$GITHUB_OUTPUT" | |
| - name: Cache SpacemanDMM | |
| id: smcache | |
| uses: actions/cache@v5 | |
| with: | |
| path: /home/runner/SpacemanDMM | |
| key: ${{ runner.os }}-spacemandmm-${{ steps.smver.outputs.ref }} | |
| - name: Setup Rust | |
| uses: hecrj/setup-rust-action@v2.0.1 | |
| - name: Install musl toolchain | |
| if: steps.smcache.outputs.cache-hit != 'true' | |
| run: | | |
| rustup target add x86_64-unknown-linux-musl | |
| sudo apt-get update | |
| sudo apt-get install -y musl-tools | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24.14.1 | |
| cache: "yarn" | |
| cache-dependency-path: | | |
| ./tgui/yarn.lock | |
| ./tgui/package.json | |
| - uses: actions/setup-python@v6 | |
| 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/bootstrap/python -c '' | |
| - name: Build SpacemanDMM | |
| if: steps.smcache.outputs.cache-hit != 'true' | |
| run: | | |
| tools/ci/install_spaceman_dmm.sh dreamchecker | |
| - 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: | | |
| ~/SpacemanDMM/dreamchecker | |
| odlint: | |
| name: Lint with OpenDream | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Setup .NET SDK | |
| uses: actions/setup-dotnet@v5.2.0 | |
| with: | |
| dotnet-version: 10 | |
| - uses: actions/checkout@v6 | |
| - uses: robinraju/release-downloader@v1.13 | |
| with: | |
| repository: "OpenDreamProject/OpenDream" | |
| tag: "latest" | |
| fileName: "DMCompiler_linux-x64.tar.gz" | |
| extract: true | |
| - run: ./DMCompiler_linux-x64/DMCompiler --suppress-unimplemented goonstation.dme --version=516.1666 | |
| compile: | |
| name: Compile | |
| runs-on: ubuntu-latest | |
| if: "!contains(github.event.head_commit.message, 'skip ci')" | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/setup-byond | |
| - 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-latest | |
| 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@v6 | |
| with: | |
| submodules: true | |
| token: "${{ secrets.ROBUDDYBOT_PAT }}" | |
| - uses: ./.github/actions/setup-byond | |
| - name: Read SpacemanDMM ref from config | |
| id: smver | |
| run: | | |
| REF="$(grep -E '^SPACEMAN_DMM_REF=' buildByond.conf | cut -d= -f2)" | |
| if [[ -z "$REF" ]]; then echo "SPACEMAN_DMM_REF missing"; exit 1; fi | |
| echo "ref=$REF" >> "$GITHUB_OUTPUT" | |
| - name: Cache SpacemanDMM | |
| id: smcache | |
| uses: actions/cache@v5 | |
| with: | |
| path: /home/runner/SpacemanDMM | |
| key: ${{ runner.os }}-spacemandmm-${{ steps.smver.outputs.ref }} | |
| - name: Setup Rust | |
| uses: hecrj/setup-rust-action@v2.0.1 | |
| - name: Install musl toolchain | |
| if: steps.smcache.outputs.cache-hit != 'true' | |
| run: | | |
| rustup target add x86_64-unknown-linux-musl | |
| sudo apt-get update | |
| sudo apt-get install -y musl-tools | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24.14.1 | |
| cache: "yarn" | |
| cache-dependency-path: | | |
| ./tgui/yarn.lock | |
| ./tgui/package.json | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.10" | |
| cache: pip | |
| - name: Install Dependencies | |
| run: | | |
| pip3 install setuptools | |
| tools/ci/install_build_tools.sh | |
| tools/bootstrap/python -c '' | |
| - name: Build SpacemanDMM | |
| if: steps.smcache.outputs.cache-hit != 'true' | |
| run: | | |
| tools/ci/install_spaceman_dmm.sh dreamchecker | |
| - 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: | | |
| ~/SpacemanDMM/dreamchecker | |
| - name: Compile | |
| run: | | |
| tools/ci/dm.sh -DCIBUILD goonstation.dme |