Skip to content

Commit 9e1ceb7

Browse files
hyperpolymathclaude
andcommitted
ci: add --no-default-features build+test job for ephapax-cli
Keeps the dep-free build green automatically. Proves the `typed-wasm-verify` feature flag introduced in this PR is genuinely optional: ephapax-cli builds + tests with zero git dep on `hyperpolymath/typed-wasm`. The job runs in parallel with the default-features `check`/`test` jobs (gated by the same `needs: check` for fmt + clippy ordering). Scoped to `-p ephapax-cli` deliberately rather than `--workspace --no-default-features` because `ephapax-runtime` carries an unrelated default-feature (panic-handler) that unconditionally fails at workspace scope. The `typed-wasm-verify` feature only lives on `ephapax-cli`, so per-crate scope is precise. Locally verified: `cargo test -p ephapax-cli --no-default-features` → 13/13 passing (verifier integration tests cfg-skipped; the absence-of-verifier-output test still asserts no verifier ran). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent f151f5a commit 9e1ceb7

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

.github/workflows/rust-ci.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,40 @@ permissions:
1515
jobs:
1616
rust-ci:
1717
uses: hyperpolymath/standards/.github/workflows/rust-ci-reusable.yml@4fdf4314b4ab54269adbaff10e30e483b5e86845
18+
19+
no-default-features:
20+
name: Cargo build + test (ephapax-cli, --no-default-features)
21+
runs-on: ubuntu-latest
22+
if: hashFiles('Cargo.toml') != ''
23+
24+
# Proves ephapax can be built and tested with zero git dep on the
25+
# sibling `hyperpolymath/typed-wasm` repo. Enforces the estate
26+
# architectural rule that typed-wasm must be removable from either
27+
# language with no impact. See `src/ephapax-wasm/src/ownership.rs`
28+
# for the in-tree codec that makes this possible.
29+
steps:
30+
- name: Checkout repository
31+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
32+
33+
- name: Install Rust toolchain
34+
uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # stable
35+
36+
- name: Cache cargo registry and build
37+
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2
38+
with:
39+
key: no-default-features
40+
41+
- name: Cargo build -p ephapax-cli --no-default-features
42+
run: cargo build -p ephapax-cli --no-default-features
43+
44+
- name: Cargo test -p ephapax-cli --no-default-features
45+
run: cargo test -p ephapax-cli --no-default-features
46+
47+
- name: Write summary
48+
if: always()
49+
run: |
50+
echo "## --no-default-features build" >> "$GITHUB_STEP_SUMMARY"
51+
echo "" >> "$GITHUB_STEP_SUMMARY"
52+
echo "Proves the typed-wasm-verify feature is genuinely optional:" >> "$GITHUB_STEP_SUMMARY"
53+
echo "ephapax-cli builds + tests with zero git dep on the" >> "$GITHUB_STEP_SUMMARY"
54+
echo "hyperpolymath/typed-wasm repo." >> "$GITHUB_STEP_SUMMARY"

0 commit comments

Comments
 (0)