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 - name: Install xlings env: XLINGS_VERSION: 0.4.31 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" - name: Refresh package index run: xlings update - name: Install workspace tools (.xlings.json → mcpp 0.0.13) run: xlings install -y - name: Cache mcpp sandbox uses: actions/cache@v4 with: path: ~/.xlings/data/xpkgs/xim-x-mcpp/0.0.13/registry key: mcpp-sandbox-${{ runner.os }}-mcpp0.0.13 - name: Build with mcpp run: mcpp build - name: Run tests run: mcpp test