Skip to content

fix(release): make the 2.3.0 candidate acceptance pass (#253) - #265

Merged
ds1sqe merged 4 commits into
masterfrom
fix/2.3.0-release-acceptance
Oct 20, 2026
Merged

ds1sqe merged 4 commits into
masterfrom
fix/2.3.0-release-acceptance

Conversation

@ds1sqe

@ds1sqe ds1sqe commented Oct 20, 2026

Copy link
Copy Markdown
Owner

Summary

The 2.3.0 candidate run (39381210933) on the 2.3 merge failed five acceptance jobs. Two causes, both specific to 2.3 and invisible to CI:

  • Core sdist did not build. cargo metadata resolves optional path dependencies, and the bindings' optional type-bridge-perf was not in the sdist. Including it would drag in the Rust SDK, the CLI and their dev-dependency graph through its pipelines feature. Failed: Python release artifacts on 3.12, 3.13.5 and 3.14.
  • Profile against server. Generated 2.3 packages default to typedb-3.13.6/v1; the release acceptance service is TypeDB 3.12.3. Failed: generated live artifact parity, and the server OCI's external Rust application.

Changes

  • New private leaf crate type-bridge-perf-stages holds the stage layer (it needs only tracing). type-bridge-perf re-exports it as stages; the Python, Node and C bindings' off-by-default perf-stages feature links the leaf crate.
  • The core sdist includes crates/perf-stages as an explicit raw source root, like orm-derive. The sdist validator, the Cargo release inventory and their tests name the new crate; C distribution and ledger digests rebound for the changed C manifest.
  • release.yml: the exact-wheel Python application and the external Rust application select typedb-3.12.1/v1, as CI does for its 3.12.3 lanes.

Verification

  • A maturin 1.14.1 sdist of this tree contains crates/perf-stages and passes cargo metadata --offline from the unpacked archive.
  • cargo clippy -p type-bridge-perf-stages -p type-bridge-perf --all-targets -D warnings; perf-stages tests; cargo check of type-bridge-core, type-bridge-node and type-bridge-c with perf-stages.
  • pytest tests/unit/infra tests/unit/compat tests/unit/perf: 1732 passed. Native notice check passes; actionlint clean.
  • After merge: master CI, then the candidate release check again.

Parts of #253

#253)

The 2.3.0 candidate could not build type-bridge-core from its sdist:
cargo metadata resolves optional path dependencies, and the bindings'
optional type-bridge-perf was missing. Including it is not enough,
because its pipelines feature names the Rust SDK, the CLI and their
dev-dependency graph.

The bindings use only the stage layer, which needs nothing but tracing.

- New private crate type-bridge-perf-stages holds the stage layer;
  type-bridge-perf re-exports it as stages for its pipelines binary.
- The Python, Node and C bindings' perf-stages feature links the leaf
  crate, still optional and off by default.
- The core sdist includes crates/perf-stages as an explicit raw source
  root, like orm-derive; the validator, release inventory and their
  tests name the new crate.
- Rebind the C distribution and broad-case ledger digests for the
  changed C manifest.

A maturin 1.14.1 sdist of the result passes cargo metadata.

Parts of #253
…253)

Generated 2.3 packages default to the typedb-3.13.6/v1 profile, while
the release acceptance service is TypeDB 3.12.3. The exact-wheel Python
application and the server OCI's external Rust application therefore
refused the server. Select typedb-3.12.1/v1 there, as CI does for its
3.12.3 lanes.

Parts of #253
@codecov

codecov Bot commented Oct 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

)

The parity job tests fixtures that build-python and pack-node-package
generate. Those still used the 2.3 default profile, typedb-3.13.6/v1,
so the 3.12.1 profile the test now expects did not match the package.
Generate both live fixtures at typedb-3.12.1/v1 for the 3.12.3 service,
and format the updated inventory tests.

Parts of #253
#253)

The Node live test reads its own profile and server version and fell
back to typedb-3.13.6/v1 and 3.13.6, while the fixture and the service
are 3.12.1 and 3.12.3. Pass both to the step, as for the Python
application.

Parts of #253
@ds1sqe
ds1sqe merged commit 56fc9a1 into master Oct 20, 2026
113 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant