Skip to content

Commit 97505d6

Browse files
committed
ci: toolchain smoke tests build mcpp itself, not hello world
Each toolchain 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 codebase. 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 step)
1 parent 826cd90 commit 97505d6

2 files changed

Lines changed: 12 additions & 24 deletions

File tree

.github/workflows/ci-windows.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -108,16 +108,13 @@ jobs:
108108
"$MCPP_SELF" --version
109109
echo ":: Self-host smoke PASS"
110110
111-
- name: "Toolchain: LLVM — mcpp new → build → run"
111+
- name: "Toolchain: LLVM — build mcpp"
112112
shell: bash
113113
run: |
114114
export MCPP_VENDORED_XLINGS="$XLINGS_BIN"
115115
"$MCPP_SELF" toolchain default llvm@20.1.7
116-
TMP=$(mktemp -d)
117-
cd "$TMP"
118-
"$MCPP_SELF" new hello_llvm
119-
cd hello_llvm
120-
"$MCPP_SELF" run
116+
"$MCPP_SELF" clean
117+
"$MCPP_SELF" build
121118
122119
- name: Package Windows release zip
123120
id: package

.github/workflows/ci.yml

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -134,34 +134,25 @@ 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)")
150147
"$MCPP" toolchain install gcc 15.1.0-musl
151148
"$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
149+
"$MCPP" clean
150+
"$MCPP" build
157151
158-
- name: "Toolchain: LLVM — install + mcpp new → build → run"
152+
- name: "Toolchain: LLVM — build mcpp"
159153
run: |
160154
MCPP=$(realpath "$(find target -type f -name mcpp -printf '%T@ %p\n' | sort -rn | head -1 | cut -d' ' -f2)")
161155
"$MCPP" toolchain install llvm 20.1.7
162156
"$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
157+
"$MCPP" clean
158+
"$MCPP" build

0 commit comments

Comments
 (0)