Skip to content

fleet: busbar pin -> predev 1d111f2904; pack at the plugin's own version - #22

Open
MattJackson wants to merge 2 commits into
devfrom
lane-repin-predev
Open

MattJackson wants to merge 2 commits into
devfrom
lane-repin-predev

Conversation

@MattJackson

Copy link
Copy Markdown
Contributor

Pin. busbar 7356bbfb6baeb0e9245a59dc74f8b4bfadb2c5a4 -> predev tip 1d111f29049842e66f4ce3419e1219302a249b4f (1.6.0). The pin moves in .busbar-ref, the workflow revs (ci, release and its consumer-verify call, repin), the workspace's busbar git deps and [patch], the fleet dependency table and the deny.toml header. busbar-transport-http moves to a715d1ab57 and busbar-transport-tcp to eb334dd6e9, the revs busbar links at the tip. Cargo.lock moves busbar's crates to the tip and resolves with cargo metadata --locked.

Adaptations.

  • The template files are the busbar-release render (template 4c47cad0385d) that fleet: the busbar-release plugin template (CI, deps policy, settings) #21 carries at 276a156148, retargeted to the tip. busbar-contract, plugin-loader, core-connector, the root workspace table, .github/fleet/deps.toml and busbar's Cargo.lock are identical between 276a156148 and the tip, so only the rev moves. The hunks overlap fleet: the busbar-release plugin template (CI, deps policy, settings) #21 only where the rev moves. They are disjoint from export-webhook: a userinfo in the URL is sent as authorization: Basic, as 1.5.5 sent it (audit export-webhook #1, HIGH) #19, which touches lib.rs and an earlier region of tests.rs.
  • export-webhook/src/tests.rs: the contract's HostTables gained the appended io table (abi/host/io.rs, the host's io.*). The ready test's host tables lend none (io: std::ptr::null()). This was the one compile error in fleet: the busbar-release plugin template (CI, deps policy, settings) #21's CI (E0063).
  • Export kind and SDK: nothing else this plugin uses changed shape. abi::export (ABI 3) and mechanism::{call,door,ticket::Ticket} are unchanged, and so are sdk::{door,exchange}, plugin_door! and export_door!. connector::{Need, DIRECTION_OUTBOUND, EGRESS_OPEN_WEB, KEEP_NAMED} changed only in comments (the RANDOM slot is retired). Life, Held, Lent, Out, Safe and SafeSlot gained only crate-private items; Held::release went pub(crate) and is not called here. conn::DeclaredConns::hold_authority has a default.
  • Conformance harness: the conformance_suite! surface (door, cdylib, inputs, host, tls) is unchanged. The export script now lends each batch through the dispatcher and reads only answers the host judged. far_ends is an optional input. The new RED arms come in through the macro, and conformance.json needs no change. declares.json's contract_abi 3..3 still matches the export ABI.

Pack-version fix (ARCHITECT ruling C'). busbar-plugin-pack --version must equal the plugin's own Statement version. predev has no binary-version first-party floor: first-party plugins version on independent lines (plugin-loader sign.rs:28-30). This repo has no test that packs at busbar --version: there is no busbar_version helper, no admin_api_e2e.rs and no e2e.rs. The conformance suite opens the built cdylib, and the Statement carries env!("CARGO_PKG_VERSION"). So the ruling needs no hunk here. Note: the crates are versioned 1.5.0, while plugins.yaml gives this repo version_line: "1.0".

Layout proof. This is a Rust plugin. It vendors no abi-layout.golden or busbar_plugin.h and has no layout assertion test. The contract it compiles against is busbar-contract at the pin, so with the pin equal to predev's tip its compiled-in ABI layout is predev's by construction.

The busbar pin moves 7356bbfb6b -> predev 1d111f29049842e66f4ce3419e1219302a249b4f over the
busbar-release template render #21 carries (4c47cad0385d at 276a156148), retargeted to the tip:
.busbar-ref, the ci/release/repin workflow revs, the workspace busbar git deps and [patch], the
fleet dependency table, the deny.toml header, and Cargo.lock (resolves with cargo metadata --locked).

The contract's HostTables gained the appended io table (abi/host/io.rs); the ready test's host
tables lend none (io: NULL).
plugins.yaml gives every roster plugin version_line "1.0"; 1.5.0 was a leftover of the 1.5.x line, and
this repo has no tag or release, so no published high-water mark is crossed. The pack-version rule
(ARCHITECT ruling C') packs at the plugin's own stated version, now 1.0.0.
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