Skip to content

fix: clone and other chain protocol tests CI running#918

Merged
tamaralipows merged 11 commits into
mainfrom
monorepo/tnl/ENG-5497-protocol-sdk-ci-fix
Apr 22, 2026
Merged

fix: clone and other chain protocol tests CI running#918
tamaralipows merged 11 commits into
mainfrom
monorepo/tnl/ENG-5497-protocol-sdk-ci-fix

Conversation

@tamaralipows

@tamaralipows tamaralipows commented Apr 20, 2026

Copy link
Copy Markdown
Collaborator

migrated PR: propeller-heads/tycho-protocol-sdk#423 + some other fixes

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
@tamaralipows tamaralipows force-pushed the monorepo/tnl/ENG-5497-protocol-sdk-ci-fix branch 3 times, most recently from 8de2edf to 8c016df Compare April 22, 2026 10:18
Comment thread protocols/testing/entrypoint.sh
@github-project-automation github-project-automation Bot moved this from Todo to In Progress in Tycho Apr 22, 2026
tamaralipows and others added 11 commits April 22, 2026 14:48
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>
@tamaralipows tamaralipows force-pushed the monorepo/tnl/ENG-5497-protocol-sdk-ci-fix branch from 187241d to 24f82c9 Compare April 22, 2026 12:48
@tamaralipows tamaralipows enabled auto-merge April 22, 2026 12:48
@tamaralipows tamaralipows merged commit 9f62b96 into main Apr 22, 2026
29 checks passed
@tamaralipows tamaralipows deleted the monorepo/tnl/ENG-5497-protocol-sdk-ci-fix branch April 22, 2026 12:52
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Tycho Apr 22, 2026
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))
@propellerci

propellerci Bot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

This PR is included in version 0.264.0 🎉

@propellerci propellerci Bot added the true label Apr 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants