mirror of
https://github.com/allaunthefox/SilverSight.git
synced 2026-07-31 01:25:21 +00:00
- .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
75 lines
1.9 KiB
YAML
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"
|