diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 24ca0fb..5f07dcd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -201,7 +201,7 @@ jobs: # Catches Cargo.toml metadata regressions (missing license, bad # include paths, etc.) on the subset of crates that have no # workspace deps — those are the only ones `cargo publish --dry-run` - # can check before anything's on crates.io. The other 4 crates + # can check before anything's on crates.io. The other crates # (hyperdb-api-core, hyperdb-api-salesforce, hyperdb-api, hyperdb-mcp) # resolve their path+version deps against the live index, which can't # succeed until those deps are themselves published. (Note: @@ -223,8 +223,9 @@ jobs: cache-key: publish-dry-run rustflags: "" - run: | - cargo publish -p hyperdb-bootstrap --dry-run - cargo publish -p sea-query-hyperdb --dry-run + cargo publish -p hyperdb-bootstrap --dry-run + cargo publish -p sea-query-hyperdb --dry-run + cargo publish -p hyperdb-api-derive --dry-run deny: # Enforces license allowlist, advisory ignore list, and banned-source diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 8f0488a..e4d82b0 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -119,12 +119,13 @@ jobs: # `cargo metadata --format-version=1` forces a lockfile # reconciliation pass against the current Cargo.tomls. Empirically - # validated on this workspace: it flips exactly the 7 workspace- + # validated on this workspace: it flips exactly the 8 workspace- # member version rows (hyperdb-api, hyperdb-api-core, - # hyperdb-api-node, hyperdb-api-salesforce, hyperdb-bootstrap, - # hyperdb-mcp, sea-query-hyperdb) and touches no external dep - # rows. The "Verify lockfile diff is workspace-only" sentinel - # below catches it if a future cargo version diverges. + # hyperdb-api-derive, hyperdb-api-node, hyperdb-api-salesforce, + # hyperdb-bootstrap, hyperdb-mcp, sea-query-hyperdb) and touches + # no external dep rows. The "Verify lockfile diff is workspace- + # only" sentinel below catches it if a future cargo version + # diverges. # # Why not `cargo generate-lockfile`: it does a full re-resolve # and bumps unrelated transitive deps to their latest semver diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 99e61fc..a36320d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -207,7 +207,18 @@ jobs: # window for small crates. sleep 45 } + # Publish order is dependency-topological: + # - hyperdb-api-salesforce, hyperdb-api-derive: leaves (no + # workspace deps). + # - hyperdb-api-core: depends on hyperdb-api-salesforce + # (optional, via salesforce-auth feature). + # - hyperdb-api: depends on hyperdb-api-core AND + # hyperdb-api-derive (=X.Y.Z strict pin → derive must be + # on the index when hyperdb-api builds). + # - hyperdb-mcp, hyperdb-bootstrap, sea-query-hyperdb: depend + # on hyperdb-api / hyperdb-api-core; publish last. publish hyperdb-api-salesforce + publish hyperdb-api-derive publish hyperdb-api-core publish hyperdb-api publish hyperdb-mcp diff --git a/hyperdb-api/src/lib.rs b/hyperdb-api/src/lib.rs index b4fd2e4..61db222 100644 --- a/hyperdb-api/src/lib.rs +++ b/hyperdb-api/src/lib.rs @@ -16,8 +16,9 @@ //! - `hyperdb-api` — High-level API (this crate) //! //! Optional companion crates: -//! - `sea-query-hyper` — `HyperDB` SQL dialect backend for `sea-query` +//! - `sea-query-hyperdb` — `HyperDB` SQL dialect backend for `sea-query` //! - `hyperdb-api-salesforce` — Salesforce Data Cloud OAuth authentication +//! - `hyperdb-api-derive` — Proc-macro `#[derive(FromRow)]` (re-exported by this crate) //! //! # Quick Start //!