OpenZeppelin / OpenZeppelin/compact-contracts
dev: make failed compiles fail the build
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 55
- Forks
- 29
- Avg merge
- 5d 7h
- Merged PRs (30d)
- 25
Description
yarn compile:* prints Compiled <file> and exits 0 even when compact compile fails and writes no artifact. @openzeppelin/compact-builder 0.0.4 runs the compiler under script -qc, and script without -e returns 0 regardless of the child's status. A mock with a wrong import path passed CI-style compiles during the preset refactors and was only caught by counting artifacts.
Upstream fixed it in compact-tools #162, shipped as compact-builder 0.0.5. We never receive it: @openzeppelin/compact-cli ^0.0.3 pins builder ^0.0.4, which on a 0.0.x line excludes 0.0.5. compact-cli 0.1.1 pins builder ^0.0.5 and its deployer dependency is now published. Bump the cli to ^0.1.1 (Node 24, which the repo already targets), and pass --feature-zkir-v3 on the umbrella compile and build scripts, which the honest exit code shows have been failing silently for the ECDSA contracts.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the package manifest to inspect the @openzeppelin/compact-cli dependency, then find the umbrella compile and build scripts. Update the dependency and feature flag as requested, and verify with the affected yarn commands that a compile failure exits nonzero and the ECDSA contracts compile successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nodejs
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100