fix(ci): route IPFS CLI commands through daemon API to avoid repo.lock#237
Merged
Conversation
The IPFS Docker container starts the daemon automatically, which holds repo.lock. Running `ipfs config` commands directly contends for the same lock and fails intermittently on slow CI runners. Route all CLI commands through the daemon's HTTP API via `--api` flag, and replace fixed `sleep` waits with polling loops that check API readiness. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Collaborator
Author
|
@x3c41a maybe matrix and separate run per runtime would also fix: https://github.com/paritytech/polkadot-bulletin-chain/actions/runs/21937803360/job/63355998706?pr=202#step:22:491 |
x3c41a
added a commit
that referenced
this pull request
Feb 12, 2026
Run Westend parachain and Polkadot solochain tests in parallel instead of sequentially, eliminating ~75 lines of duplication and cutting CI wall time roughly in half. Each runtime gets its own isolated runner, avoiding flaky cross-runtime state issues (#237).
3 tasks
x3c41a
reviewed
Feb 12, 2026
| docker run -d --name ipfs-node -v ipfs-data:/data/ipfs $NETWORK_ARGS ipfs/kubo:latest | ||
| echo " Container: ipfs-node (network: $NETWORK_ARGS)" | ||
| echo " Waiting for IPFS to initialize..." | ||
| sleep 5 |
Contributor
There was a problem hiding this comment.
nice! no more IPFS sleeps.
we shall remove the remaining sleeps one day too
Collaborator
Author
There was a problem hiding this comment.
@x3c41a aaaaaa, did you merge with main? I was waiting for the result of tests :(
x3c41a
approved these changes
Feb 12, 2026
bkontur
added a commit
that referenced
this pull request
Feb 13, 2026
* Use GitHub Actions matrix for integration tests Run Westend parachain and Polkadot solochain tests in parallel instead of sequentially, eliminating ~75 lines of duplication and cutting CI wall time roughly in half. Each runtime gets its own isolated runner, avoiding flaky cross-runtime state issues (#237). * Reuse runtimes-matrix.json for integration test matrix Instead of hardcoding the runtime list in the workflow, read from scripts/runtimes-matrix.json and filter by a new `integration_tests` flag. This keeps the single source of truth for runtime definitions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Add summary job for Integration Tests status check The matrix job reports per-runtime check names (e.g. "Integration Tests (bulletin-polkadot)") which don't match the branch protection rule expecting a single "Integration Tests" status. Add a summary job that aggregates matrix results under that exact name. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Load env vars in Setup job to fix cache key resolution The Setup job uses POLKADOT_SDK_VERSION and ZOMBIENET_VERSION in cache keys, but these are defined in .github/env. Without loading that file, the cache keys resolve to empty strings causing cache misses every run. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Use GITHUB_ENV for RUNTIME_PACKAGE instead of per-step matrix refs Set RUNTIME_PACKAGE once in $GITHUB_ENV alongside TEST_DIR, then reference both as plain env vars in all subsequent steps. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Branislav Kontur <bkontur@gmail.com>
antkve
pushed a commit
that referenced
this pull request
Feb 16, 2026
* Use GitHub Actions matrix for integration tests Run Westend parachain and Polkadot solochain tests in parallel instead of sequentially, eliminating ~75 lines of duplication and cutting CI wall time roughly in half. Each runtime gets its own isolated runner, avoiding flaky cross-runtime state issues (#237). * Reuse runtimes-matrix.json for integration test matrix Instead of hardcoding the runtime list in the workflow, read from scripts/runtimes-matrix.json and filter by a new `integration_tests` flag. This keeps the single source of truth for runtime definitions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Add summary job for Integration Tests status check The matrix job reports per-runtime check names (e.g. "Integration Tests (bulletin-polkadot)") which don't match the branch protection rule expecting a single "Integration Tests" status. Add a summary job that aggregates matrix results under that exact name. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Load env vars in Setup job to fix cache key resolution The Setup job uses POLKADOT_SDK_VERSION and ZOMBIENET_VERSION in cache keys, but these are defined in .github/env. Without loading that file, the cache keys resolve to empty strings causing cache misses every run. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Use GITHUB_ENV for RUNTIME_PACKAGE instead of per-step matrix refs Set RUNTIME_PACKAGE once in $GITHUB_ENV alongside TEST_DIR, then reference both as plain env vars in all subsequent steps. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Branislav Kontur <bkontur@gmail.com>
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.
The IPFS Docker container starts the daemon automatically, which holds repo.lock. Running
ipfs configcommands directly contends for the same lock and fails intermittently on slow CI runners.Route all CLI commands through the daemon's HTTP API via
--apiflag, and replace fixedsleepwaits with polling loops that check API readiness.E,g: https://github.com/paritytech/polkadot-bulletin-chain/actions/runs/21937803360/job/63355998706?pr=202#step:22:491