chore: no em-dashes in anything a reader sees #11
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| "on": | |
| pull_request: {} | |
| push: {} | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_INCREMENTAL: "0" | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| policy: | |
| name: Policy gates | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| # The architectural constraint is the project, so it is a test. | |
| - name: No ROCm/HIP/HSA/CUDA/PyTorch runtime dependencies | |
| run: | | |
| python3 tools/check_runtime_dependency_policy.py --self-test | |
| python3 tools/check_runtime_dependency_policy.py | |
| - name: Crate publish policy | |
| run: | | |
| python3 tools/check_crate_publish_policy.py --self-test | |
| python3 tools/check_crate_publish_policy.py | |
| - name: Model API boundary helpers | |
| run: | | |
| python3 tools/check_model_api_boundary_helpers.py --self-test | |
| python3 tools/check_model_api_boundary_helpers.py | |
| # Runs the GPU-free demo server and asserts the OpenAI-shaped seam plus | |
| # the synthetic-response boundary. | |
| - name: Demo sandbox contract | |
| run: python3 tools/check_demo_sandbox_static.py | |
| # The OLMo 2 checkpoint contract, exercised against a synthetic fixture so | |
| # it needs neither a GPU nor a 6 GB download. One accept and four rejects, | |
| # including refusing a pre-norm checkpoint and refusing head_dim 64. | |
| - name: OLMo 2 preflight contract | |
| run: | | |
| cargo build --release -p mainarch-cli | |
| ./target/release/mainarch olmo2-preflight-selftest | |
| - name: Model API source guards under optimized Python | |
| run: | | |
| PYTHONDONTWRITEBYTECODE=1 PYTHONOPTIMIZE=1 python3 -B - <<'PY' | |
| from tools import check_model_api_public_examples as checker | |
| checker.check_public_source_import_surface_guard() | |
| checker.check_public_source_pattern_guard() | |
| print("optimized model API source guard self-tests ok") | |
| PY | |
| workspace: | |
| name: Workspace check and test | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install Rust stable | |
| run: | | |
| rustup toolchain install stable --profile minimal --no-self-update | |
| rustup default stable | |
| rustup component add rustfmt clippy | |
| - name: Cache cargo registry and build output | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: ${{ runner.os }}-cargo- | |
| - name: Formatting | |
| run: cargo fmt --all -- --check | |
| - name: Check | |
| run: cargo check --workspace --all-targets -j1 | |
| - name: Test | |
| run: cargo test --workspace -j1 | |
| # Every public model API command, with its receipt lines asserted. | |
| - name: Model API public examples | |
| run: python3 tools/check_model_api_public_examples.py | |
| shell: | |
| name: Shell scripts parse | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: bash -n every script | |
| run: | | |
| fail=0 | |
| while IFS= read -r f; do | |
| bash -n "$f" || { echo "syntax error: $f"; fail=1; } | |
| done < <(git ls-files '*.sh') | |
| exit "$fail" |