SilverSight/.github/workflows/avm-ci.yml
Workflow config file is invalid. Please check your config file: yaml: line 21: mapping values are not allowed in this context
allaun b305b634f3 feat(ci): add AVM cross-port CI workflow + Wolfram verification
- .github/workflows/avm-ci.yml: runs Python, Go, Rust, C, C++ tests
  on every push to AVM ISA files
- scripts/wolfram_verify.py: queries Wolfram Alpha to verify AVM
  arithmetic (INT32_MAX, Q16 scale, negation involution, floor division)
- All 4 Wolfram verifications passing
- Python (10/10) and Rust tests passing on this workstation
- Verification receipt written to signatures/avm_verification_receipt.json
2026-06-30 18:01:51 -05:00

75 lines
1.9 KiB
YAML

name: AVM ISA Cross-Port CI
on:
push:
paths:
- 'python/avm.py'
- 'go/avm.go'
- 'rust/src/avm/**'
- 'c/avm.c'
- 'cpp/avm.hpp'
- 'fortran/**'
- 'tests/**'
- 'scripts/wolfram_verify.py'
workflow_dispatch:
jobs:
python:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5 with: { python-version: '3.12' }
- name: Run Python AVM tests
run: PYTHONPATH=python python3 -m pytest tests/test_avm_python.py -v
go:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5 with: { go-version: '1.26' }
- name: Run Go AVM tests
run: go test -v ./go/
rust:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Run Rust AVM tests
run: cd rust && cargo test
c:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build and run C AVM tests
run: |
gcc -o c/test_avm c/test_avm.c -lm
./c/test_avm
cpp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build and run C++ AVM tests
run: |
g++ -std=c++20 -o cpp/test_avm cpp/test_avm.cpp
./cpp/test_avm
wolfram-verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5 with: { python-version: '3.12' }
- name: Wolfram Alpha verification
run: python3 scripts/wolfram_verify.py
env:
WOLFRAM_APP_ID: ${{ secrets.WOLFRAM_APP_ID }}
cross-verify:
runs-on: ubuntu-latest
needs: [python, go, rust, c, cpp]
steps:
- uses: actions/checkout@v4
- name: All AVM ports passed
run: echo "✅ All AVM ISA port tests passed"