Skip to content

Commit 90f9488

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 6b6d8fc commit 90f9488

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

.github/workflows/rust-ci.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,44 @@ jobs:
6868
echo "- **cargo check**: passed" >> "$GITHUB_STEP_SUMMARY"
6969
echo "- **cargo test**: completed" >> "$GITHUB_STEP_SUMMARY"
7070
71+
no-default-features:
72+
name: Cargo build + test (ephapax-cli, --no-default-features)
73+
runs-on: ubuntu-latest
74+
needs: check
75+
if: hashFiles('Cargo.toml') != ''
76+
77+
# Proves ephapax can be built and tested with zero git dep on the
78+
# sibling `hyperpolymath/typed-wasm` repo. Enforces the estate
79+
# architectural rule that typed-wasm must be removable from either
80+
# language with no impact. See `src/ephapax-wasm/src/ownership.rs`
81+
# for the in-tree codec that makes this possible.
82+
steps:
83+
- name: Checkout repository
84+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
85+
86+
- name: Install Rust toolchain
87+
uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # stable
88+
89+
- name: Cache cargo registry and build
90+
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2
91+
with:
92+
key: no-default-features
93+
94+
- name: Cargo build -p ephapax-cli --no-default-features
95+
run: cargo build -p ephapax-cli --no-default-features
96+
97+
- name: Cargo test -p ephapax-cli --no-default-features
98+
run: cargo test -p ephapax-cli --no-default-features
99+
100+
- name: Write summary
101+
if: always()
102+
run: |
103+
echo "## --no-default-features build" >> "$GITHUB_STEP_SUMMARY"
104+
echo "" >> "$GITHUB_STEP_SUMMARY"
105+
echo "Proves the typed-wasm-verify feature is genuinely optional:" >> "$GITHUB_STEP_SUMMARY"
106+
echo "ephapax-cli builds + tests with zero git dep on the" >> "$GITHUB_STEP_SUMMARY"
107+
echo "hyperpolymath/typed-wasm repo." >> "$GITHUB_STEP_SUMMARY"
108+
71109
status-gate:
72110
name: Status gate
73111
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)