probe: the released engine and an MSVC-row sysroot (measurement branc… #1
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: probe - released engine reads an MSVC-row sysroot | |
| # Temporary measurement branch. It records what the released mcpp does with the | |
| # spellings 2026.9.24.1 introduces for `[target.x86_64-windows-msvc].sysroot`, | |
| # so the compatibility note in the changelog states a measurement. | |
| on: | |
| push: | |
| branches: [probe/old-engine-msvc-sysroot] | |
| jobs: | |
| probe: | |
| runs-on: windows-latest | |
| timeout-minutes: 60 | |
| env: | |
| MCPP_HOME: C:\Users\runneradmin\.mcpp | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/bootstrap-mcpp | |
| - name: Four manifests, one released engine | |
| shell: bash | |
| run: | | |
| export MCPP_VENDORED_XLINGS="$XLINGS_BIN" | |
| "$MCPP" --version | |
| "$MCPP" self config --mirror GLOBAL | |
| reg="$MCPP_HOME/registry/data/xpkgs" | |
| probe() { | |
| local name=$1 value=$2 d="$RUNNER_TEMP/p-$name" | |
| rm -rf "$d"; mkdir -p "$d"; cd "$d" | |
| "$MCPP" new hello > /dev/null 2>&1; cd hello | |
| [ -n "$value" ] && printf '\n[target.x86_64-windows-msvc]\nsysroot = "%s"\n' "$value" >> mcpp.toml | |
| echo "::group::$name: mcpp.toml"; cat mcpp.toml; echo "::endgroup::" | |
| { ls "$reg" 2>/dev/null || true; } | sort > before.txt | |
| set +e | |
| timeout 1500 "$MCPP" build > build.log 2>&1; rc=$? | |
| set -e | |
| { ls "$reg" 2>/dev/null || true; } | sort > after.txt | |
| echo "RESULT $name: build rc=$rc" | |
| echo "::group::$name: build output"; cat build.log; echo "::endgroup::" | |
| echo "RESULT $name: registry entries added: $(comm -13 before.txt after.txt | tr '\n' ' ')" | |
| echo "RESULT $name: msvc/sdk payloads present: $(grep -i -E 'msvc|windows-sdk' after.txt | tr '\n' ' ')" | |
| for f in $(find target -name resolution.json 2>/dev/null); do | |
| echo "::group::$name: $f"; cat "$f"; echo "::endgroup::" | |
| done | |
| if [ "$rc" -eq 0 ]; then | |
| "$MCPP" run > run.log 2>&1 && echo "RESULT $name: run ok: $(tail -1 run.log)" \ | |
| || echo "RESULT $name: run failed" | |
| fi | |
| { grep -E -i 'sysroot|xpkg|msvc' build.log || true; } | head -8 | sed "s/^/RESULT $name: log: /" | |
| } | |
| probe baseline "" | |
| probe system 'msvc@system' | |
| probe pinned 'msvc@14.44.35207' | |
| probe xim 'xim:msvc@14.44.35207' |