chore: migrate deps to namespace syntax (mcpp 0.0.6) #8
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
| name: CI | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| jobs: | |
| build: | |
| name: build + test (linux x86_64, mcpp) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # Bootstrap xlings — the tool that the workspace's `.xlings.json` | |
| # binds tool versions to (here it pins mcpp 0.0.6). | |
| - name: Install xlings | |
| env: | |
| XLINGS_VERSION: 0.4.25 | |
| run: | | |
| tarball="xlings-${XLINGS_VERSION}-linux-x86_64.tar.gz" | |
| curl -fsSL -o "/tmp/${tarball}" \ | |
| "https://github.com/d2learn/xlings/releases/download/v${XLINGS_VERSION}/${tarball}" | |
| tar -xzf "/tmp/${tarball}" -C /tmp | |
| "/tmp/xlings-${XLINGS_VERSION}-linux-x86_64/subos/default/bin/xlings" self install | |
| echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH" | |
| # Resolves `.xlings.json` → installs [email protected] (and any other | |
| # workspace tools listed). Idempotent on cache hits. | |
| - name: Install workspace tools (.xlings.json) | |
| run: xlings install -y | |
| # Cache mcpp's self-bootstrapped sandbox: musl-gcc + binutils + | |
| # glibc + ninja + patchelf, plus the cloned mcpp-index. ~800 MB | |
| # one-time download — reused across runs since mcpp 0.0.6's | |
| # toolchain set is version-pinned. | |
| - name: Cache mcpp sandbox | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.xlings/data/xpkgs/xim-x-mcpp/0.0.6/registry | |
| key: mcpp-sandbox-${{ runner.os }}-mcpp0.0.6 | |
| - name: Build with mcpp | |
| run: mcpp build | |
| - name: Run tests | |
| run: mcpp test |