fix: clone and other chain protocol tests CI running#918
Merged
Conversation
Contributor
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
tamaralipows
added a commit
that referenced
this pull request
Apr 20, 2026
The integration test Dockerfile clones tycho-indexer at a pinned tag to build the binary. Tag 0.83.4 depends on metrics v0.24.1 which contains a lifetime soundness issue (rust-lang/rust#141402) now rejected by Rust 1.89. Tag 0.153.0 uses metrics v0.24.2 which includes the fix. This must land on main before PR #918 can pass CI, because the ci-substreams-integration workflow uses pull_request_target and checks out the base branch Dockerfile, not the PR branch. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
8de2edf to
8c016df
Compare
louise-poole
approved these changes
Apr 22, 2026
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The Dockerfile was cloning tycho-indexer from GitHub at a pinned tag, but the monorepo already contains the source. Build from local copy instead, eliminating the external dependency and version pinning issue. Also fixes stale paths carried over from the separate-repo layout: - evm/ -> protocols/adapter-integration/evm/ - substreams/ -> protocols/substreams/ - protocol-testing/ -> protocols/testing/ Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…nore Two issues prevented the integration test Docker build: 1. EVM forge deps (openzeppelin-contracts, forge-std) are git submodules whose contents are not in the Docker context (.git/ is excluded). Install them directly via forge install inside the Dockerfile. 2. Root .dockerignore excludes protocols/substreams/ which this build needs. Add a Dockerfile-specific .dockerignore that allows it through. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Latest foundry uses --no-git instead of --no-commit. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
build.rs runs git rev-parse HEAD to embed the commit hash, but panics when git is unavailable (e.g. inside Docker where .git/ is excluded). Fall back to "unknown" instead of panicking. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Stale path from SDK repo: protocol-testing/ -> protocols/testing/ Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The test runner auto-detects root by looking for substreams/ and adapter-integration/evm/ directories. The Docker image had evm/ at /app/evm/ instead of /app/adapter-integration/evm/. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Parse CLONE_TO_BASE_PROTOCOL from the Rust source instead of duplicating the mappings in the CI workflow. Single source of truth. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The test runner looks for integration_test_curve.tycho.yaml when running the unichain-curve clone protocol (strips chain prefix, replaces hyphens with underscores). Ported from tycho-protocol-sdk PR #423. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Name clone test configs after the full protocol (e.g. integration_test_unichain_curve.tycho.yaml) instead of stripping the chain prefix (integration_test_curve.tycho.yaml). Makes it immediately clear which chain/protocol the test is for. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
187241d to
24f82c9
Compare
propellerci Bot
pushed a commit
that referenced
this pull request
Apr 22, 2026
## [0.264.0](0.263.3...0.264.0) (2026-04-22) ### Features * add unichain-curve clone integration test config ([a9aab7a](a9aab7a)), closes [#423](#423) ### Bug Fixes * build tycho-indexer from monorepo source instead of GitHub clone ([2bd72fe](2bd72fe)) * clone and other chain protocol tests CI running ([f2593a2](f2593a2)) * clone and other chain protocol tests CI running ([#918](#918)) ([9f62b96](9f62b96)) * handle missing git in protocol-testing build script ([038e441](038e441)) * install forge deps in Dockerfile and add build-specific dockerignore ([947db32](947db32)) * match Docker image directory layout to test runner expectations ([5f311d9](5f311d9)) * update docker-compose path in substreams-docker-single action ([3a72d91](3a72d91)) * use --no-git flag for forge install ([3e96aac](3e96aac))
Contributor
|
This PR is included in version 0.264.0 🎉 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
migrated PR: propeller-heads/tycho-protocol-sdk#423 + some other fixes