@@ -8,20 +8,19 @@ name: ci-fresh-install
88# 2. mcpp build (build mcpp itself from source)
99#
1010# This workflow tests released mcpp, not PR code.
11- # It does NOT run on PRs — only on push to main, manual trigger, and daily schedule.
12- # Failures here mean the released mcpp has issues, not that the PR is broken.
11+ # It runs on release publish, manual trigger, and daily schedule.
1312
1413on :
15- push :
16- branches : [ main ]
14+ release :
15+ types : [ published ]
1716 workflow_dispatch :
1817 schedule :
1918 # Run daily at 06:00 UTC to catch issues from xlings/runner updates
2019 - cron : ' 0 6 * * *'
2120
2221concurrency :
2322 group : ci-fresh-install
24- cancel-in-progress : true
23+ cancel-in-progress : false # use false to test in PRs, true to only test released mcpp
2524
2625jobs :
2726 # ──────────────────────────────────────────────────────────────────
@@ -38,24 +37,30 @@ jobs:
3837 env :
3938 XLINGS_NON_INTERACTIVE : ' 1'
4039 run : |
41- curl -fsSL https://github.com/d2learn/xlings/releases/download/v0.4.30/xlings-0.4.30-linux-x86_64.tar.gz | tar -xzf - -C /tmp
42- /tmp/xlings-0.4.30-linux-x86_64/subos/default/bin/xlings self install
43- export PATH="$HOME/.xlings/subos/default/bin:$PATH"
44- xlings install mcpp -y
45- echo "$HOME/.xlings/subos/default/bin" >> "$GITHUB_PATH"
40+ curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v0.4.38
41+ echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
42+
43+ - name : Install mcpp and config mirror
44+ run : |
45+ xlings install mcpp -y -g # install to global
4646 mcpp --version
47+ mcpp self config --mirror GLOBAL
48+
49+ echo "mcpp debug info:"
50+ which mcpp
51+ cat $HOME/.xlings/.xlings.json
4752
48- - name : " GCC : mcpp new → run"
53+ - name : " Default : mcpp new → run"
4954 run : |
5055 cd "$(mktemp -d)"
5156 mcpp new hello_gcc
5257 cd hello_gcc
5358 mcpp run
5459
55- - name : " GCC : build mcpp"
60+ - name : " Default : build mcpp"
5661 run : |
5762 mcpp clean
58- mcpp build
63+ mcpp run
5964
6065 - name : " musl-gcc: mcpp new → run"
6166 run : |
@@ -70,11 +75,25 @@ jobs:
7075 run : |
7176 mcpp toolchain default gcc@15.1.0-musl
7277 mcpp clean
73- mcpp build
78+ mcpp run
79+
80+ - name : " gcc 16: mcpp new → run"
81+ run : |
82+ mcpp toolchain install gcc 16.1.0
83+ mcpp toolchain default gcc@16.1.0
84+ cd "$(mktemp -d)"
85+ mcpp new hello_gcc16
86+ cd hello_gcc16
87+ mcpp run
88+
89+ - name : " gcc 16: build mcpp"
90+ run : |
91+ mcpp toolchain default gcc@16.1.0
92+ mcpp clean
93+ mcpp run
7494
7595 - name : " LLVM: mcpp new → run"
7696 run : |
77- mcpp self config --mirror GLOBAL
7897 mcpp toolchain install llvm 20.1.7
7998 mcpp toolchain default llvm@20.1.7
8099 cd "$(mktemp -d)"
86105 run : |
87106 mcpp toolchain default llvm@20.1.7
88107 mcpp clean
89- mcpp build
108+ mcpp run
90109
91110 # ──────────────────────────────────────────────────────────────────
92111 # macOS: llvm@20.1.7
@@ -98,16 +117,22 @@ jobs:
98117 steps :
99118 - uses : actions/checkout@v4
100119
101- - name : Install xlings + mcpp
120+ - name : Install xlings
102121 env :
103122 XLINGS_NON_INTERACTIVE : ' 1'
104123 run : |
105- curl -fsSL https://github.com/d2learn/xlings/releases/download/v0.4.30/xlings-0.4.30-macosx-arm64.tar.gz | tar -xzf - -C /tmp
106- /tmp/xlings-0.4.30-macosx-arm64/subos/default/bin/xlings self install
107- export PATH="$HOME/.xlings/subos/default/bin:$PATH"
108- xlings install mcpp -y
109- echo "$HOME/.xlings/subos/default/bin" >> "$GITHUB_PATH"
124+ curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash -s v0.4.38
125+ echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
126+
127+ - name : Install mcpp and config mirror
128+ run : |
129+ xlings install mcpp -y -g # install to global
110130 mcpp --version
131+ mcpp self config --mirror GLOBAL
132+
133+ echo "mcpp debug info:"
134+ which mcpp
135+ cat $HOME/.xlings/.xlings.json
111136
112137 - name : " LLVM: mcpp new → run"
113138 run : |
@@ -119,7 +144,7 @@ jobs:
119144 - name : " LLVM: build mcpp"
120145 run : |
121146 mcpp clean
122- mcpp build
147+ mcpp run
123148
124149 # ──────────────────────────────────────────────────────────────────
125150 # Windows: llvm@20.1.7 + MSVC STL
@@ -131,19 +156,25 @@ jobs:
131156 steps :
132157 - uses : actions/checkout@v4
133158
134- - name : Install xlings + mcpp
159+ - name : Install xlings
135160 shell : pwsh
136161 env :
137162 XLINGS_NON_INTERACTIVE : ' 1'
138163 run : |
139- Invoke-WebRequest -Uri "https://github.com/d2learn/xlings/releases/download/v0.4.30/xlings-0.4.30-windows-x86_64.zip" -OutFile "$env:TEMP\xlings.zip"
140- Expand-Archive -Path "$env:TEMP\xlings.zip" -DestinationPath "$env:TEMP\xlings-extract" -Force
141- & "$env:TEMP\xlings-extract\xlings-0.4.30-windows-x86_64\subos\default\bin\xlings.exe" self install
142- $xlingsbin = "$env:USERPROFILE\.xlings\subos\default\bin"
164+ irm https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.ps1 | iex
165+
166+ $xlingsbin = "$env:USERPROFILE\.xlings\subos\current\bin"
143167 $env:PATH = "$xlingsbin;$env:PATH"
144- xlings install mcpp -y
145168 $xlingsbin | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
169+
170+ - name : Install mcpp and config mirror
171+ shell : pwsh
172+ run : |
173+ xlings install mcpp -y -g --verbose
174+
175+ cat "$env:USERPROFILE\.xlings\.xlings.json"
146176 mcpp --version
177+ mcpp self config --mirror GLOBAL
147178
148179 - name : " LLVM: mcpp new → run"
149180 shell : pwsh
@@ -158,4 +189,4 @@ jobs:
158189 shell : pwsh
159190 run : |
160191 mcpp clean
161- mcpp build
192+ mcpp run
0 commit comments