OpenZeppelin / OpenZeppelin/compact-contracts

dev: make failed compiles fail the build

Open Beginner friendly
#894 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

build enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.