Files
skids/.github/workflows/build.yml
T
andy bfaa1a287b Embed the game data so the disks are not needed at run time
build.rs unpacks the ADF images next to Cargo.toml (or in
SKIDS_EMBED_DIR) with the same ADF/LHA readers the game uses and packs
the files into the executable. At run time the built-in data loads
first and anything given with --data, or found next to the executable,
overrides it. The embed feature is on by default; builds without it
behave as before and ask for --data. CI now runs the binary from an
empty directory.
2026-10-19 18:45:01 +00:00

49 lines
1.3 KiB
YAML

name: build
on:
push:
pull_request:
workflow_dispatch:
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
artifact: skids-linux-x86_64
bin: skids
- os: windows-latest
artifact: skids-windows-x86_64
bin: skids.exe
- os: macos-latest
artifact: skids-macos-arm64
bin: skids
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Linux dependencies
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libasound2-dev libx11-dev libxkbcommon-dev
- name: Test
run: cargo test --release
- name: Build
run: cargo build --release
- name: Check the binary runs without the disks
shell: bash
run: |
mkdir -p "$RUNNER_TEMP/standalone"
cp target/release/${{ matrix.bin }} "$RUNNER_TEMP/standalone/"
cd "$RUNNER_TEMP/standalone"
./${{ matrix.bin }} info
./${{ matrix.bin }} bench --seconds 60
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact }}
path: |
target/release/${{ matrix.bin }}
README.md
docs/FORMATS.md