Skip to content

CI: check workspace dependency inheritance#11422

Merged
bkontur merged 49 commits into
paritytech:masterfrom
RomarQ:ci/check-workspace-inheritance
Jul 16, 2026
Merged

CI: check workspace dependency inheritance#11422
bkontur merged 49 commits into
paritytech:masterfrom
RomarQ:ci/check-workspace-inheritance

Conversation

@RomarQ

@RomarQ RomarQ commented Mar 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add cargo-workspace-inheritance-check to checks-quick.yml CI workflow to enforce workspace dependency inheritance
  • Fix all existing violations (inline versions → workspace = true, promote missing workspace deps)

Recently, I found the need to have a tool for checking/fixing dependency inheritance in cargo workspaces. I think it can also be useful for polkadot-sdk.

For details about how it works, have a look at https://github.com/RomarQ/cargo-workspace-inheritance-check

Follow-up

Bumping the workspace pin to 0.50 is a separate change. It requires porting the two crates still written against the 0.44 API:

  • frame-benchmarking-cli — uses OfflineClient::new(…), subxt::client::RuntimeVersion, and .tx() directly on the offline client, all redesigned in 0.50.
  • pallet-revive-eth-rpc — uses subxt::Error::Metadata, subxt::error::MetadataError, subxt::ext::subxt_rpcs, subxt::backend::{legacy::rpc_methods, rpc}, subxt::storage::Storage, subxt::events::StaticEvent, subxt::runtime_api, and subxt::blocks — all gone or restructured in 0.50.

Add cargo-workspace-inheritance-check to quick-checks CI workflow
and fix all existing violations.
@RomarQ
RomarQ force-pushed the ci/check-workspace-inheritance branch from d9bd519 to 8043da8 Compare March 18, 2026 17:44
@bkchr
bkchr requested a review from ggwpez March 18, 2026 20:41
@bkchr bkchr added the R0-no-crate-publish-required The change does not require any crates to be re-published. label Mar 18, 2026
@RomarQ

RomarQ commented Mar 18, 2026

Copy link
Copy Markdown
Contributor Author

@bkchr Should I add a PRdoc to fix the "Check semver" workflow? It should not change anything in terms of functionality, just aligns the dependency versioning in some crates.

@bkchr

bkchr commented Mar 18, 2026

Copy link
Copy Markdown
Member

No, should not be required.

@acatangiu
acatangiu enabled auto-merge June 22, 2026 11:52
@acatangiu
acatangiu added this pull request to the merge queue Jun 22, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to no response for status checks Jun 22, 2026
@RomarQ

RomarQ commented Jun 23, 2026

Copy link
Copy Markdown
Contributor Author

@acatangiu do you know what might have caused the PR to be removed from the merge queue? Or was it some CI flakiness?

ptechrelease-forkwrite-polkadotsdk Bot pushed a commit to paritytech-release/polkadot-sdk that referenced this pull request Jul 15, 2026
Blocked by paritytech/subxt#2236

Follow-up to paritytech#11422.

Bumps the workspace `subxt`, `subxt-metadata`, and `subxt-signer`
dependencies from 0.44 to 0.50.

subxt 0.50 introduces a block-anchored client API and splits
`subxt::Error` into per-operation sub-errors. Affected crates were
updated to the new API; the JSON-RPC and CLI surfaces are unchanged.
RomarQ added 4 commits July 15, 2026 14:08
PR paritytech#12096 bumped the workspace subxt/subxt-signer pin to 0.50 and moved
the statement-store and zombienet-sdk crates onto workspace = true, so
the ignore list (which existed to let them pin 0.50 while the workspace
was on 0.44) no longer suppresses anything. Two entries also referenced
the removed statement-latency-bench crate. The inheritance check stays
green without it.
@RomarQ

RomarQ commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

Now that #12096 was merged, this PR has been simplified.

@athei @bkchr @xermicus @0xOmarA
Since it already has enough approvals, can any of you add it to the merge queue?

@bkontur
bkontur added this pull request to the merge queue Jul 16, 2026
bkontur added a commit to paritytech/web3-storage that referenced this pull request Jul 16, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 16, 2026
@RomarQ

RomarQ commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

@bkontur I think it failed because of CI flakiness

@bkontur
bkontur added this pull request to the merge queue Jul 16, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 16, 2026
@bkontur
bkontur enabled auto-merge July 16, 2026 12:37
@bkontur
bkontur added this pull request to the merge queue Jul 16, 2026
Merged via the queue into paritytech:master with commit ec1052d Jul 16, 2026
414 of 425 checks passed
@RomarQ
RomarQ deleted the ci/check-workspace-inheritance branch July 16, 2026 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

R0-no-crate-publish-required The change does not require any crates to be re-published.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants