Skip to content

fix(landing): enable horizontal scroll in demo oligos output #14

fix(landing): enable horizontal scroll in demo oligos output

fix(landing): enable horizontal scroll in demo oligos output #14

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
jobs:
# ------------------------------------------------------------------
# Node smoke test: verifies L1 + L5 round-trip works end-to-end.
# Fast (< 30s), no external deps.
# ------------------------------------------------------------------
node-smoke-test:
name: Node.js smoke test (L1 + L5)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Run smoke test
run: node reference/examples/smoke_test.js
# ------------------------------------------------------------------
# Python reference codec: full test suite (L1 + L4 + L5 + Reed-Solomon).
# Matrix on Python 3.10 / 3.11 / 3.12.
# ------------------------------------------------------------------
python-tests:
name: Python reference codec (${{ matrix.python-version }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install reference codec
working-directory: reference
run: |
python -m pip install --upgrade pip
pip install -e ".[test]"
- name: Run pytest
working-directory: reference
run: pytest tests/ -v
- name: Run encode demo
working-directory: reference
run: python examples/encode_demo.py
# ------------------------------------------------------------------
# Lint Python with ruff (style) — non-blocking for v0.1, advisory only.
# ------------------------------------------------------------------
python-lint:
name: Python lint (ruff)
runs-on: ubuntu-latest
continue-on-error: true # advisory only at v0.1
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install ruff
run: pip install ruff
- name: Run ruff check
run: ruff check reference/aeonscript/ reference/tests/ reference/examples/
# ------------------------------------------------------------------
# Rust reference codec: builds + runs tests + smoke example.
# The Rust crate is a v0.1 skeleton (L1+L5 implemented, L4 passthrough).
# ------------------------------------------------------------------
rust-tests:
name: Rust reference codec
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- name: Cargo check
working-directory: reference-rs
run: cargo check --all-targets
- name: Cargo test
working-directory: reference-rs
run: cargo test
- name: Cargo run smoke example
working-directory: reference-rs
run: cargo run --example smoke_test
- name: Cargo fmt --check
working-directory: reference-rs
run: cargo fmt -- --check
continue-on-error: true # advisory at v0.1
- name: Cargo clippy
working-directory: reference-rs
run: cargo clippy --all-targets -- -D warnings
continue-on-error: true # advisory at v0.1
# ------------------------------------------------------------------
# Spec sanity: ensures spec files are valid Markdown and reference the
# right version strings.
# ------------------------------------------------------------------
spec-consistency:
name: Spec / Reference consistency check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check spec version matches code
run: |
set -euo pipefail
spec_version=$(grep -oE 'AeonScript — Specification v[0-9]+\.[0-9]+' spec/SPEC-v*.md | head -1 | grep -oE '[0-9]+\.[0-9]+')
code_version=$(grep -oE '__spec_version__ = "[0-9]+\.[0-9]+"' reference/aeonscript/__init__.py | grep -oE '[0-9]+\.[0-9]+')
echo "Spec declares v$spec_version"
echo "Code declares v$code_version"
if [ "$spec_version" != "$code_version" ]; then
echo "::error::Spec version ($spec_version) does not match code version ($code_version)"
exit 1
fi