Skip to content

Require Atari-side M2 execution evidence #21

Require Atari-side M2 execution evidence

Require Atari-side M2 execution evidence #21

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/10560110819/zip
unzip -q /tmp/atari-dev-m2.zip -d artifacts
test -s artifacts/HELLO.TOS
sha256sum artifacts/HELLO.TOS
- name: Execute canonical artifact on Hatari + EmuTOS
run: |
rm -f artifacts/M2PASS.TXT
docker run --rm \
-v "$PWD/artifacts:/runtime/artifacts" \
-e ATARI_HATARI_ARGS='--gemdos-drive C --auto C:\\HELLO.TOS --run-vbls 1200 --disable-video true --sound off' \
atari-runtime:m2 \
/runtime/tools/launch.sh "${{ matrix.profile }}"
- name: Verify Atari-side execution evidence
run: |
test -s artifacts/M2PASS.TXT
grep -Fx 'Ploos-AS atari-dev M2 execution PASS' artifacts/M2PASS.TXT
printf 'M2 Hatari + EmuTOS %s execution: PASS\n' "${{ matrix.profile }}"