ci(hypatia): standardise the wrapper caller id to the canonical `hypa… #235
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
| # SPDX-License-Identifier: MPL-2.0 | |
| # Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> | |
| # | |
| # e2e.yml — End-to-end structural validation for wokelang. | |
| # | |
| # Runs on every PR and push to main. Two jobs: | |
| # structural — fast, no compiler required (grammar, spec, fixtures, layout) | |
| # build-e2e — full build then E2E (Rust cargo check + OCaml dune build) | |
| name: E2E Validation | |
| on: | |
| pull_request: | |
| branches: ['**'] | |
| push: | |
| branches: [main, master] | |
| permissions: | |
| contents: read | |
| jobs: | |
| # -------------------------------------------------------------------------- | |
| # Job 1: Structural validation (no toolchain needed) | |
| # -------------------------------------------------------------------------- | |
| structural: | |
| name: Structural E2E (no-build) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 | |
| - name: Run structural E2E checks | |
| run: E2E_BUILD=0 bash tests/e2e.sh | |
| # -------------------------------------------------------------------------- | |
| # Job 2: Full build + E2E (Rust + OCaml) | |
| # -------------------------------------------------------------------------- | |
| build-e2e: | |
| name: Build + E2E (Rust + OCaml) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4 | |
| # ---- Rust ---- | |
| - name: Install Rust stable toolchain | |
| uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable | |
| with: | |
| components: clippy, rustfmt | |
| - name: Cache Cargo registry and build artefacts | |
| uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2 | |
| # ---- OCaml ---- | |
| - name: Set up OCaml | |
| uses: ocaml/setup-ocaml@e89b2ded52a6e13f50162220cf5fe47290162032 # v3 | |
| with: | |
| ocaml-compiler: 5.1.x | |
| - name: Install opam dependencies | |
| run: | | |
| opam install --deps-only --with-test wokelang.opam -y || \ | |
| opam install menhir ounit2 -y | |
| # ---- Full E2E ---- | |
| - name: Run full E2E (with build checks) | |
| run: E2E_BUILD=1 bash tests/e2e.sh | |
| # ---- Conformance suite ---- | |
| - name: Run conformance test runner | |
| run: bash tests/run_conformance.sh | |
| continue-on-error: true |