Skip to content

probe: the released engine and an MSVC-row sysroot (measurement branc… #1

probe: the released engine and an MSVC-row sysroot (measurement branc…

probe: the released engine and an MSVC-row sysroot (measurement branc… #1

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'