Skip to content

Commit 9692655

Browse files
committed
ci: boot FreeMiNT 68030 on Hatari TT
1 parent ae8e6e7 commit 9692655

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

‎.github/workflows/qualification.yml‎

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,53 @@ jobs:
137137
echo 'kernel_build=PASS'
138138
} | tee "$GITHUB_WORKSPACE/artifacts/hatari-m4-3-tt-freemint-build.txt"
139139
140+
- name: Boot FreeMiNT 68030 on Hatari TT
141+
if: matrix.profile == 'tt'
142+
run: |
143+
set -eux
144+
root="$(find artifacts/freemint-tt -type d -name drive_c -print -quit)"
145+
test -n "$root"
146+
rm -rf artifacts/tt-freemint-C
147+
cp -a "$root" artifacts/tt-freemint-C
148+
cp artifacts/mint030.prg artifacts/tt-freemint-C/MINT030.PRG
149+
cnf="$(find artifacts/tt-freemint-C/mint -mindepth 2 -maxdepth 2 -type f -iname mint.cnf -print -quit)"
150+
test -s "$cnf"
151+
eth0_script="$(find artifacts/tt-freemint-C -type f -path '*/sys-root/bin/eth0-config.sh' -print -quit)"
152+
test -s "$eth0_script"
153+
cat >> "$eth0_script" <<'EOF'
154+
155+
# Ploos-AS M4.3 Hatari TT guest execution probe
156+
echo 'Ploos-AS atari-runtime FreeMiNT Hatari TT execution PASS' > /tmp/PLOOSPASS.TXT
157+
cp /tmp/PLOOSPASS.TXT /c/PLOOSPASS.TXT || true
158+
cp /tmp/PLOOSPASS.TXT u:/c/PLOOSPASS.TXT || true
159+
EOF
160+
grep -Ein 'exec|init|shell|bash|xaaes|xaloader' "$cnf" | tee artifacts/hatari-tt-mint-cnf-hooks.txt || true
161+
rm -f artifacts/tt-freemint-C/PLOOSPASS.TXT artifacts/tt-freemint-C/ploospass.txt
162+
set +e
163+
docker run --rm \
164+
-v "$PWD/artifacts:/runtime/artifacts" atari-runtime:m2 \
165+
sh -c 'set +e; Xvfb :99 -screen 0 1024x768x24 >/tmp/xvfb.log 2>&1 & x=$!; export DISPLAY=:99; sleep 1; timeout --signal=TERM --kill-after=3s 90s hatari --machine tt --memsize 4 --tos /runtime/roms/emutos.img --harddrive /runtime/artifacts/tt-freemint-C --gemdos-drive C --auto MINT030.PRG --trace os_base,gemdos --trace-file /runtime/artifacts/hatari-m4-3-tt-freemint-trace.log --log-level debug --log-file /runtime/artifacts/hatari-m4-3-tt-freemint-debug.log >/runtime/artifacts/hatari-m4-3-tt-freemint-stdout.log 2>/runtime/artifacts/hatari-m4-3-tt-freemint-stderr.log; rc=$?; cp /tmp/xvfb.log /runtime/artifacts/hatari-m4-3-tt-freemint-xvfb.log; kill "$x" 2>/dev/null || true; wait "$x" 2>/dev/null || true; exit "$rc"'
166+
rc=$?
167+
set -e
168+
cat artifacts/hatari-m4-3-tt-freemint-stderr.log || true
169+
grep -Ei 'FreeMiNT|MiNT|xaaes|xaloader|panic|fatal|error' artifacts/hatari-m4-3-tt-freemint-{stdout,stderr,debug,trace}.log 2>/dev/null | tail -n 400 | tee artifacts/hatari-m4-3-tt-freemint-visible.log || true
170+
marker="$(find artifacts/tt-freemint-C -iname 'ploospass.txt' -type f -print -quit)"
171+
test -n "$marker"
172+
test -s "$marker"
173+
tr -d '\r' < "$marker" | grep -Fxq 'Ploos-AS atari-runtime FreeMiNT Hatari TT execution PASS'
174+
{
175+
echo 'milestone=M4.3'
176+
echo 'profile=tt-freemint'
177+
echo 'emulator=Hatari'
178+
echo 'machine=tt'
179+
echo 'cpu=68030'
180+
echo 'kernel=mint030.prg'
181+
echo 'kernel_build=PASS'
182+
echo 'guest_marker=PASS'
183+
echo "hatari_exit=$rc"
184+
echo "marker=$marker"
185+
} | tee artifacts/hatari-m4-3-tt-freemint-result.txt
186+
140187
- name: Verify Atari-side GEMDOS execution evidence
141188
run: |
142189
test -s artifacts/MINPASS.TXT

0 commit comments

Comments
 (0)