Skip to content

ci: bump mcpp 0.0.3 → 0.0.4 #5

ci: bump mcpp 0.0.3 → 0.0.4

ci: bump mcpp 0.0.3 → 0.0.4 #5

Workflow file for this run

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.4).
- 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.4's
# toolchain set is version-pinned.
- name: Cache mcpp sandbox
uses: actions/cache@v4
with:
path: ~/.xlings/data/xpkgs/xim-x-mcpp/0.0.4/registry
key: mcpp-sandbox-${{ runner.os }}-mcpp0.0.4
- name: Build with mcpp
run: mcpp build
- name: Run tests
run: mcpp test