From 7540c86fa08c5f8b20850498b9eacd9c0c2c86aa Mon Sep 17 00:00:00 2001 From: Andrew Altshuler Date: Tue, 16 Jun 2026 05:23:55 +0300 Subject: [PATCH] ci(publish): add omnigraph-api-types + omnigraph-cluster to the crates.io publish order (#260) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The publish-crates workflow's list predated two workspace crates: the shared wire-DTO crate `omnigraph-api-types` (RFC-009) and `omnigraph-cluster`. On the v0.7.0 tag it published compiler/policy/engine, then failed on `omnigraph-server` ("no matching package named `omnigraph-api-types`") because that dependency was never published. Insert both in dependency order (after omnigraph-engine, before omnigraph-server). The workflow is idempotent (per-crate version check), so a re-dispatch for v0.7.0 skips the three already-published crates and finishes api-types → cluster → server → cli. Co-authored-by: Claude Opus 4.8 --- .github/workflows/publish-crates.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish-crates.yml b/.github/workflows/publish-crates.yml index 9484b98..4fac941 100644 --- a/.github/workflows/publish-crates.yml +++ b/.github/workflows/publish-crates.yml @@ -1,6 +1,6 @@ name: Publish to crates.io -# Publishes the four workspace crates to crates.io in dependency order. +# Publishes the publishable workspace crates to crates.io in dependency order. # # Triggers: # - push of any v* tag (future releases auto-publish alongside release.yml) @@ -115,10 +115,14 @@ jobs: # Order matters: each crate must precede anything that depends on it. # omnigraph-compiler and omnigraph-policy have no internal deps; - # omnigraph-engine depends on both; server depends on engine + the - # two leaf crates; cli depends on everything. + # omnigraph-engine depends on both; omnigraph-api-types and + # omnigraph-cluster depend on engine (+ compiler); server depends on + # engine + api-types + cluster + the two leaf crates; cli depends on + # everything. publish_if_new omnigraph-compiler publish_if_new omnigraph-policy publish_if_new omnigraph-engine + publish_if_new omnigraph-api-types + publish_if_new omnigraph-cluster publish_if_new omnigraph-server publish_if_new omnigraph-cli