Skip to content

Fix GEMDOS probe drive mapping and Atari autostart path #36

Fix GEMDOS probe drive mapping and Atari autostart path

Fix GEMDOS probe drive mapping and Atari autostart path #36

Workflow file for this run

name: qualification
on:
push:
pull_request:
workflow_dispatch:
jobs:
infrastructure:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build atari-runtime image
run: docker build -t atari-runtime:m2 -f Containerfile .
- name: Runtime metadata
run: docker run --rm atari-runtime:m2 tools/runtime-info.sh
- name: Hatari CLI capabilities
run: docker run --rm atari-runtime:m2 sh -c 'hatari --help 2>&1 | tee /tmp/hatari-help.txt; grep -Ei "auto|run|program|gemdos|harddrive" /tmp/hatari-help.txt || true'
- name: Hatari + EmuTOS smoke
run: docker run --rm atari-runtime:m2 tools/smoke.sh
- name: Verify M2 helper
run: docker run --rm atari-runtime:m2 sh -n tools/qualify-m2.sh
m2-emulator:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
profile: [st, ste]
steps:
- uses: actions/checkout@v4
- name: Build atari-runtime image
run: docker build -t atari-runtime:m2 -f Containerfile .
- name: Download canonical atari-dev M2 artifact
env:
GH_TOKEN: ${{ github.token }}
run: |
mkdir -p artifacts
curl --fail --location -H "Authorization: Bearer $GH_TOKEN" -H "Accept: application/vnd.github+json" -o /tmp/atari-dev-m2.zip https://api.github.com/repos/Ploos-AS/atari-dev/actions/artifacts/10570949048/zip
unzip -q /tmp/atari-dev-m2.zip -d artifacts
test -s artifacts/HELLO.TOS
sha256sum artifacts/HELLO.TOS
- name: Execute GEMDOS marker probe
run: |
rm -f artifacts/MINPASS.TXT
test -s artifacts/MINIMAL.PRG
name="atari-m2-${{ matrix.profile }}"
docker run --name "$name" \
-v "$PWD/artifacts:/runtime/artifacts" \
atari-runtime:m2 \
xvfb-run -a hatari \
--machine "${{ matrix.profile }}" \
--memsize 1 \
--tos /runtime/roms/emutos.img \
--harddrive /runtime/artifacts \
--gemdos-drive C \
--auto 'C:\MINIMAL.PRG' &
pid=$!
found=0
for i in $(seq 1 45); do
if [ -s artifacts/MINPASS.TXT ]; then
found=1
break
fi
sleep 1
done
echo "=== docker logs ==="
docker logs "$name" 2>&1 || true
docker kill "$name" >/dev/null 2>&1 || true
wait "$pid" || true
docker rm -f "$name" >/dev/null 2>&1 || true
test "$found" -eq 1
grep -F 'Ploos-AS atari-runtime minimal GEMDOS execution PASS' artifacts/MINPASS.TXT
printf 'GEMDOS marker probe %s: PASS\n' "${{ matrix.profile }}"
- name: Verify Atari-side GEMDOS execution evidence
run: |
test -s artifacts/MINPASS.TXT
grep -F 'Ploos-AS atari-runtime minimal GEMDOS execution PASS' artifacts/MINPASS.TXT
file artifacts/MINIMAL.PRG