Skip to content

Commit 531b2af

Browse files
committed
probe: round 8 -- the release candidate in Termux (termux-docker aarch64, app sandbox emulator)
1 parent 0d995b9 commit 531b2af

1 file changed

Lines changed: 109 additions & 0 deletions

File tree

‎.github/workflows/probe.yml‎

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ jobs:
9696
# O8 / D19: the Android app sandbox (SELinux) on an emulator, through the
9797
# debuggable Termux APK and `run-as`.
9898
termux-emulator:
99+
if: false
99100
name: termux app sandbox on an x86_64 emulator
100101
runs-on: ubuntu-24.04
101102
timeout-minutes: 120
@@ -123,3 +124,111 @@ jobs:
123124
with:
124125
name: termux-emulator
125126
path: ${{ runner.temp }}/termux-emu-logs
127+
128+
# Round 8: the release candidate (mcpp release/2026.10.10.1 + xlings
129+
# 2026.10.10.2) through the fresh-install script the release adds (D27).
130+
candidate:
131+
name: candidate tarballs (release/2026.10.10.1)
132+
runs-on: ubuntu-24.04
133+
timeout-minutes: 120
134+
steps:
135+
- uses: actions/checkout@v4
136+
with:
137+
ref: release/2026.10.10.1
138+
- name: Bootstrap
139+
env:
140+
XLINGS_NON_INTERACTIVE: '1'
141+
run: |
142+
sudo apt-get install -y qemu-user-static >/dev/null
143+
XV=2026.10.10.2
144+
curl -fsSL -o /tmp/xl.tgz "https://github.com/openxlings/xlings/releases/download/v$XV/xlings-$XV-linux-x86_64.tar.gz"
145+
tar -xzf /tmp/xl.tgz -C /tmp
146+
"/tmp/xlings-$XV-linux-x86_64/subos/default/bin/xlings" self install
147+
echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
148+
echo "$HOME/.xlings/bin" >> "$GITHUB_PATH"
149+
echo "XLINGS_BIN=$HOME/.xlings/subos/default/bin/xlings" >> "$GITHUB_ENV"
150+
- name: Build both static binaries
151+
run: |
152+
xlings config --mirror GLOBAL 2>/dev/null || true
153+
xlings update -y 2>/dev/null || true
154+
MCPP=$(bash .github/tools/install_pinned_mcpp.sh "$GITHUB_WORKSPACE")
155+
export MCPP_VENDORED_XLINGS="$XLINGS_BIN"
156+
"$MCPP" build --target x86_64-linux-musl
157+
X=$(find target/x86_64-linux-musl -type f -name mcpp | head -1)
158+
"$X" build --target aarch64-linux-musl
159+
A=$(find target/aarch64-linux-musl -type f -name mcpp | head -1)
160+
file "$X" "$A"
161+
echo "X=$GITHUB_WORKSPACE/$X" >> "$GITHUB_ENV"
162+
echo "A=$GITHUB_WORKSPACE/$A" >> "$GITHUB_ENV"
163+
- name: Assemble the candidates on the 2026.10.8.1 layout
164+
run: |
165+
mkdir -p cand && cd cand
166+
for arch in x86_64 aarch64; do
167+
curl -fsSL -o base.tgz "https://github.com/mcpp-community/mcpp/releases/download/v2026.10.8.1/mcpp-2026.10.8.1-linux-$arch.tar.gz"
168+
curl -fsSL -o xl.tgz "https://github.com/openxlings/xlings/releases/download/v2026.10.10.2/xlings-2026.10.10.2-linux-$arch.tar.gz"
169+
rm -rf w xl && mkdir w xl && tar -xzf base.tgz -C w && tar -xzf xl.tgz -C xl
170+
D=$(ls -d w/mcpp-*)
171+
if [ "$arch" = x86_64 ]; then cp "$X" "$D/bin/mcpp"; else cp "$A" "$D/bin/mcpp"; fi
172+
cp "$(find xl -path '*/bin/xlings' -type f | head -1)" "$D/registry/bin/xlings"
173+
mv "$D" "w/mcpp-2026.10.10.1-linux-$arch"
174+
tar -czf "mcpp-candidate-linux-$arch.tar.gz" -C w "mcpp-2026.10.10.1-linux-$arch"
175+
done
176+
ls -la
177+
- uses: actions/upload-artifact@v4
178+
with:
179+
name: candidates
180+
path: cand/mcpp-candidate-linux-*.tar.gz
181+
182+
candidate-termux-docker:
183+
needs: [candidate]
184+
name: candidate in termux-docker aarch64
185+
runs-on: ubuntu-24.04-arm
186+
timeout-minutes: 150
187+
steps:
188+
- uses: actions/checkout@v4
189+
with:
190+
ref: release/2026.10.10.1
191+
- uses: actions/download-artifact@v4
192+
with:
193+
name: candidates
194+
path: cand
195+
- run: bash .github/tools/termux_fresh_install.sh docker "$GITHUB_WORKSPACE/cand/mcpp-candidate-linux-aarch64.tar.gz"
196+
- uses: actions/upload-artifact@v4
197+
if: always()
198+
with:
199+
name: candidate-termux-docker
200+
path: ${{ runner.temp }}/termux-fresh/logs
201+
202+
candidate-termux-emulator:
203+
needs: [candidate]
204+
name: candidate in the Termux app sandbox (x86_64 emulator)
205+
runs-on: ubuntu-24.04
206+
timeout-minutes: 150
207+
steps:
208+
- uses: actions/checkout@v4
209+
with:
210+
ref: release/2026.10.10.1
211+
- uses: actions/download-artifact@v4
212+
with:
213+
name: candidates
214+
path: cand
215+
- name: Enable KVM
216+
run: |
217+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
218+
sudo udevadm control --reload-rules
219+
sudo udevadm trigger --name-match=kvm
220+
- run: bash .github/tools/termux_fresh_install.sh emulator-download "$GITHUB_WORKSPACE/cand/mcpp-candidate-linux-x86_64.tar.gz"
221+
- uses: reactivecircus/android-emulator-runner@v2
222+
with:
223+
api-level: 34
224+
arch: x86_64
225+
target: google_apis
226+
disk-size: 14G
227+
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
228+
disable-animations: true
229+
script: bash .github/tools/termux_fresh_install.sh emulator-run
230+
- uses: actions/upload-artifact@v4
231+
if: always()
232+
with:
233+
name: candidate-termux-emulator
234+
path: ${{ runner.temp }}/termux-fresh/logs

0 commit comments

Comments
 (0)