Skip to content

Create CODE_OF_CONDUCT.md #2

Create CODE_OF_CONDUCT.md

Create CODE_OF_CONDUCT.md #2

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/
# ------------------------------------------------------------------
# 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