Skip to content

Commit 1fc1d6f

Browse files
committed
ci: toolchain smoke tests build mcpp itself, not just hello world
Each toolchain smoke test now builds mcpp from source (self-host) instead of a trivial hello-world project. This validates that the toolchain can compile a real C++23 modules project. Coverage: Linux: gcc@16.1.0 builds mcpp ✓ musl-gcc@15.1.0 builds mcpp ✓ llvm@20.1.7 builds mcpp ✓ macOS: llvm@20.1.7 builds mcpp ✓ (default, in self-host smoke) Windows: llvm@20.1.7 builds mcpp ✓ (new explicit step)
1 parent b5284a2 commit 1fc1d6f

2 files changed

Lines changed: 16 additions & 20 deletions

File tree

‎.github/workflows/ci-windows.yml‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,13 @@ jobs:
108108
"$MCPP_SELF" --version
109109
echo ":: Self-host smoke PASS"
110110
111-
# Fresh user experience test moved to ci-fresh-install.yml (PR #63)
111+
- name: "Toolchain: LLVM — build mcpp"
112+
shell: bash
113+
run: |
114+
export MCPP_VENDORED_XLINGS="$XLINGS_BIN"
115+
"$MCPP_SELF" toolchain default llvm@20.1.7
116+
"$MCPP_SELF" clean
117+
"$MCPP_SELF" build
112118
113119
- name: Package Windows release zip
114120
id: package

‎.github/workflows/ci.yml‎

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -134,34 +134,24 @@ jobs:
134134
"$MCPP" build
135135
"$MCPP" test
136136
137-
- name: "Toolchain: GCC — mcpp new → build → run"
137+
- name: "Toolchain: GCC — build mcpp"
138138
run: |
139139
MCPP=$(realpath "$(find target -type f -name mcpp -printf '%T@ %p\n' | sort -rn | head -1 | cut -d' ' -f2)")
140140
"$MCPP" toolchain default gcc@16.1.0
141-
TMP=$(mktemp -d)
142-
cd "$TMP"
143-
"$MCPP" new hello_gcc
144-
cd hello_gcc
145-
"$MCPP" run
141+
"$MCPP" clean
142+
"$MCPP" build
146143
147-
- name: "Toolchain: musl-gcc — mcpp new → build → run"
144+
- name: "Toolchain: musl-gcc — build mcpp"
148145
run: |
149146
MCPP=$(realpath "$(find target -type f -name mcpp -printf '%T@ %p\n' | sort -rn | head -1 | cut -d' ' -f2)")
150-
"$MCPP" toolchain install gcc 15.1.0-musl
151147
"$MCPP" toolchain default gcc@15.1.0-musl
152-
TMP=$(mktemp -d)
153-
cd "$TMP"
154-
"$MCPP" new hello_musl
155-
cd hello_musl
156-
"$MCPP" run
148+
"$MCPP" clean
149+
"$MCPP" build
157150
158-
- name: "Toolchain: LLVM — install + mcpp new → build → run"
151+
- name: "Toolchain: LLVM — build mcpp"
159152
run: |
160153
MCPP=$(realpath "$(find target -type f -name mcpp -printf '%T@ %p\n' | sort -rn | head -1 | cut -d' ' -f2)")
161154
"$MCPP" toolchain install llvm 20.1.7
162155
"$MCPP" toolchain default llvm@20.1.7
163-
TMP=$(mktemp -d)
164-
cd "$TMP"
165-
"$MCPP" new hello_llvm
166-
cd hello_llvm
167-
"$MCPP" run
156+
"$MCPP" clean
157+
"$MCPP" build

0 commit comments

Comments
 (0)