ethereum-optimism / ethereum-optimism/optimism
Contract artifacts are not published for released commits
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 4k
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 145
Description
`packages/contracts-bedrock/scripts/ops/publish-artifacts.sh` uploads a contract artifacts tarball keyed by the checksum from `calculate-checksum.sh`. It appears to be run manually rather than by CI, so released commits do not reliably have artifacts published.
### What we hit
Upgrading `ethereum-optimism/supersim` to `op-node/v1.16.13` (`6de21d0f`), its `just calculate-artifact-url` resolved to a tarball that returns HTTP 404 from `oplabs-contract-artifacts`. The previously pinned commit's tarball returns 200. Two independently computed checksums for the new commit both 404.
supersim consumes this bundle to generate its genesis. The workaround was building `contracts-bedrock` locally (421 artifacts) and pointing `--monorepo-artifacts` at the local path, which is fine for a laptop but not for CI.
### Caveat
The bucket is not anonymously listable, so we cannot fully rule out a local checksum mismatch rather than a missing upload. Someone with bucket access could confirm quickly by listing objects for that checksum.
### Ask
Either publish artifacts automatically for tagged releases, or document that consumers should build locally and treat `calculate-artifact-url` as best effort.
Contributor guide
Research direction
Start with packages/contracts-bedrock/scripts/ops/publish-artifacts.sh and calculate-checksum.sh, then trace how just calculate-artifact-url resolves the artifact tarball. Check how tagged releases or CI currently invoke artifact publication and verify the checksum object for a released commit. Done means released commits reliably have downloadable tarballs, or the consumer-facing behavior is documented as best effort with local-build guidance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100