Skip to content

fix: remove subos sysroot override, use payload paths for toolchain sysroot #3

fix: remove subos sysroot override, use payload paths for toolchain sysroot

fix: remove subos sysroot override, use payload paths for toolchain sysroot #3

name: ci-fresh-install
# Fresh install CI — simulates a real first-time user on a clean machine.
# No caches, no env overrides, no self-host. Just:
# 1. Install xlings
# 2. Install mcpp via xlings
# 3. mcpp new hello → cd hello → mcpp run
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
concurrency:
group: ci-fresh-install-${{ github.ref }}
cancel-in-progress: true
jobs:
linux-fresh:
name: Linux fresh install
runs-on: ubuntu-24.04
timeout-minutes: 30
steps:
- name: Install xlings
run: |
curl -fsSL https://github.com/d2learn/xlings/releases/download/v0.4.30/xlings-0.4.30-linux-x86_64.tar.gz -o /tmp/xlings.tar.gz
tar -xzf /tmp/xlings.tar.gz -C /tmp
/tmp/xlings-0.4.30-linux-x86_64/subos/default/bin/xlings self install
echo "$HOME/.xlings/subos/default/bin" >> "$GITHUB_PATH"
- name: Install mcpp
run: xlings install mcpp -y
- name: "mcpp new hello → mcpp run"
run: |
mcpp new hello
cd hello
mcpp run
macos-fresh:
name: macOS fresh install
runs-on: macos-15
timeout-minutes: 30
steps:
- name: Install xlings
run: |
curl -fsSL https://github.com/d2learn/xlings/releases/download/v0.4.30/xlings-0.4.30-macosx-arm64.tar.gz -o /tmp/xlings.tar.gz
tar -xzf /tmp/xlings.tar.gz -C /tmp
/tmp/xlings-0.4.30-macosx-arm64/subos/default/bin/xlings self install
echo "$HOME/.xlings/subos/default/bin" >> "$GITHUB_PATH"
- name: Install mcpp
run: xlings install mcpp -y
- name: "mcpp new hello → mcpp run"
run: |
mcpp new hello
cd hello
mcpp run
windows-fresh:
name: Windows fresh install
runs-on: windows-latest
timeout-minutes: 30
steps:
- name: Install xlings
shell: bash
run: |
curl -fsSL https://github.com/d2learn/xlings/releases/download/v0.4.30/xlings-0.4.30-windows-x86_64.zip -o /tmp/xlings.zip
mkdir -p /tmp/xlings-extract
unzip -o /tmp/xlings.zip -d /tmp/xlings-extract
/tmp/xlings-extract/xlings-0.4.30-windows-x86_64/subos/default/bin/xlings.exe self install
echo "$USERPROFILE/.xlings/subos/default/bin" >> "$GITHUB_PATH"
- name: Install mcpp
shell: bash
run: xlings install mcpp -y
- name: "mcpp new hello → mcpp run"
shell: bash
run: |
mcpp new hello
cd hello
mcpp run