This is an automated email from the ASF dual-hosted git repository.

kevinjqliu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-rust.git


The following commit(s) were added to refs/heads/main by this push:
     new a3d276407 Use cargo publish to publish crates (#2489)
a3d276407 is described below

commit a3d276407129af83d901968e90c6e9126ff6bf88
Author: blackmwk <[email protected]>
AuthorDate: Mon May 25 23:57:08 2026 +0800

    Use cargo publish to publish crates (#2489)
    
    ## Which issue does this PR close?
    
    
    - Closes #2488 .
    
    ## What changes are included in this PR?
    
    Inspired by #2485 , we add missing crates in publish workflow. But
    instead of maintaining crates publishing order manually, we switch to
    use `cargo publish --workspace` to publish crates.
    
    ## Are these changes tested?
    
    Ran `cargo publish --workspace --all-features --dry-run --no-verify
    --allow-dirty` locally.
---
 .github/workflows/publish.yml             | 18 ++----------------
 Cargo.toml                                |  1 +
 crates/catalog/glue/Cargo.toml            |  1 +
 crates/catalog/hms/Cargo.toml             |  1 +
 crates/catalog/loader/Cargo.toml          |  3 ++-
 crates/catalog/rest/Cargo.toml            |  1 +
 crates/catalog/s3tables/Cargo.toml        |  1 +
 crates/catalog/sql/Cargo.toml             |  1 +
 crates/examples/Cargo.toml                |  1 +
 crates/iceberg/Cargo.toml                 |  1 +
 crates/integration_tests/Cargo.toml       |  1 +
 crates/integrations/cache-moka/Cargo.toml |  5 +++++
 crates/integrations/datafusion/Cargo.toml |  1 +
 crates/integrations/playground/Cargo.toml |  1 +
 crates/sqllogictest/Cargo.toml            |  1 +
 crates/storage/opendal/Cargo.toml         |  1 +
 crates/test_utils/Cargo.toml              |  1 +
 17 files changed, 23 insertions(+), 17 deletions(-)

diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 944e0a2f5..fea824ccc 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -33,19 +33,6 @@ jobs:
   publish:
     runs-on: ubuntu-latest
     environment: publish
-    strategy:
-      max-parallel: 1 # Publish package one by one instead of flooding the 
registry
-      matrix:
-        # Order here is sensitive, as it will be used to determine the order 
of publishing
-        package:
-          - "crates/iceberg"
-          - "crates/storage/opendal"
-          - "crates/catalog/glue"
-          - "crates/catalog/hms"
-          - "crates/catalog/rest"
-          - "crates/catalog/s3tables"
-          - "crates/catalog/sql"
-          - "crates/integrations/datafusion"
     steps:
       - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 
v6.0.2
         with:
@@ -60,11 +47,10 @@ jobs:
         with:
           rust-version: ${{ steps.get-msrv.outputs.msrv }}
 
-      - name: Publish ${{ matrix.package }}
-        working-directory: ${{ matrix.package }}
+      - name: Publish crates
         # Only publish if it's a tag and the tag is not a pre-release
         if: ${{ startsWith(github.ref, 'refs/tags/') && !contains(github.ref, 
'-') }}
-        run: cargo publish --all-features # zizmor: 
ignore[use-trusted-publishing] -- 
https://github.com/apache/iceberg-rust/issues/1539
+        run: cargo publish --workspace --all-features # zizmor: 
ignore[use-trusted-publishing] -- 
https://github.com/apache/iceberg-rust/issues/1539
         shell: bash
         env:
           CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
diff --git a/Cargo.toml b/Cargo.toml
index a7ee54db9..a4b0172ab 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -32,6 +32,7 @@ resolver = "2"
 [workspace.package]
 edition = "2024"
 homepage = "https://rust.iceberg.apache.org/";
+publish = false
 version = "0.9.0"
 
 license = "Apache-2.0"
diff --git a/crates/catalog/glue/Cargo.toml b/crates/catalog/glue/Cargo.toml
index d8d0927a9..a740e31d4 100644
--- a/crates/catalog/glue/Cargo.toml
+++ b/crates/catalog/glue/Cargo.toml
@@ -19,6 +19,7 @@
 edition = { workspace = true }
 homepage = { workspace = true }
 name = "iceberg-catalog-glue"
+publish = true
 rust-version = { workspace = true }
 version = { workspace = true }
 
diff --git a/crates/catalog/hms/Cargo.toml b/crates/catalog/hms/Cargo.toml
index c657394b8..cab9433a2 100644
--- a/crates/catalog/hms/Cargo.toml
+++ b/crates/catalog/hms/Cargo.toml
@@ -19,6 +19,7 @@
 edition = { workspace = true }
 homepage = { workspace = true }
 name = "iceberg-catalog-hms"
+publish = true
 rust-version = { workspace = true }
 version = { workspace = true }
 
diff --git a/crates/catalog/loader/Cargo.toml b/crates/catalog/loader/Cargo.toml
index da6f74414..e47ccc7f8 100644
--- a/crates/catalog/loader/Cargo.toml
+++ b/crates/catalog/loader/Cargo.toml
@@ -19,12 +19,13 @@
 edition = { workspace = true }
 homepage = { workspace = true }
 name = "iceberg-catalog-loader"
+publish = true
 rust-version = { workspace = true }
 version = { workspace = true }
 
 categories = ["database"]
 description = "Apache Iceberg Catalog Loader API"
-keywords = ["iceberg", "catalog"]
+keywords = ["iceberg", "catalog", "loader"]
 license = { workspace = true }
 repository = { workspace = true }
 
diff --git a/crates/catalog/rest/Cargo.toml b/crates/catalog/rest/Cargo.toml
index f21f7609a..e043c195e 100644
--- a/crates/catalog/rest/Cargo.toml
+++ b/crates/catalog/rest/Cargo.toml
@@ -19,6 +19,7 @@
 edition = { workspace = true }
 homepage = { workspace = true }
 name = "iceberg-catalog-rest"
+publish = true
 rust-version = { workspace = true }
 version = { workspace = true }
 
diff --git a/crates/catalog/s3tables/Cargo.toml 
b/crates/catalog/s3tables/Cargo.toml
index 9eeee6f9a..710972d44 100644
--- a/crates/catalog/s3tables/Cargo.toml
+++ b/crates/catalog/s3tables/Cargo.toml
@@ -19,6 +19,7 @@
 edition = { workspace = true }
 homepage = { workspace = true }
 name = "iceberg-catalog-s3tables"
+publish = true
 readme = "README.md"
 rust-version = { workspace = true }
 version = { workspace = true }
diff --git a/crates/catalog/sql/Cargo.toml b/crates/catalog/sql/Cargo.toml
index eff605f46..c63e3061b 100644
--- a/crates/catalog/sql/Cargo.toml
+++ b/crates/catalog/sql/Cargo.toml
@@ -19,6 +19,7 @@
 edition = { workspace = true }
 homepage = { workspace = true }
 name = "iceberg-catalog-sql"
+publish = true
 rust-version = { workspace = true }
 version = { workspace = true }
 
diff --git a/crates/examples/Cargo.toml b/crates/examples/Cargo.toml
index cfdd78ee9..9f9fa1e43 100644
--- a/crates/examples/Cargo.toml
+++ b/crates/examples/Cargo.toml
@@ -20,6 +20,7 @@ edition = { workspace = true }
 homepage = { workspace = true }
 license = { workspace = true }
 name = "iceberg-examples"
+publish = false
 repository = { workspace = true }
 rust-version = { workspace = true }
 version = { workspace = true }
diff --git a/crates/iceberg/Cargo.toml b/crates/iceberg/Cargo.toml
index 4590492b4..159a7da7f 100644
--- a/crates/iceberg/Cargo.toml
+++ b/crates/iceberg/Cargo.toml
@@ -19,6 +19,7 @@
 edition = { workspace = true }
 homepage = { workspace = true }
 name = "iceberg"
+publish = true
 rust-version = { workspace = true }
 version = { workspace = true }
 
diff --git a/crates/integration_tests/Cargo.toml 
b/crates/integration_tests/Cargo.toml
index c82f7aefe..58bf557ac 100644
--- a/crates/integration_tests/Cargo.toml
+++ b/crates/integration_tests/Cargo.toml
@@ -20,6 +20,7 @@ edition = { workspace = true }
 homepage = { workspace = true }
 license = { workspace = true }
 name = "iceberg-integration-tests"
+publish = false
 repository = { workspace = true }
 rust-version = { workspace = true }
 version = { workspace = true }
diff --git a/crates/integrations/cache-moka/Cargo.toml 
b/crates/integrations/cache-moka/Cargo.toml
index 87e3a74a6..e2830c5df 100644
--- a/crates/integrations/cache-moka/Cargo.toml
+++ b/crates/integrations/cache-moka/Cargo.toml
@@ -18,9 +18,14 @@
 [package]
 name = "iceberg-cache-moka"
 
+categories = ["caching"]
+description = "Apache Iceberg Moka cache implementation"
+keywords = ["iceberg", "cache", "moka"]
+
 edition = { workspace = true }
 homepage = { workspace = true }
 license = { workspace = true }
+publish = true
 repository = { workspace = true }
 rust-version = { workspace = true }
 version = { workspace = true }
diff --git a/crates/integrations/datafusion/Cargo.toml 
b/crates/integrations/datafusion/Cargo.toml
index fd3e489e4..7ae6b6986 100644
--- a/crates/integrations/datafusion/Cargo.toml
+++ b/crates/integrations/datafusion/Cargo.toml
@@ -19,6 +19,7 @@
 edition = { workspace = true }
 homepage = { workspace = true }
 name = "iceberg-datafusion"
+publish = true
 rust-version = { workspace = true }
 version = { workspace = true }
 
diff --git a/crates/integrations/playground/Cargo.toml 
b/crates/integrations/playground/Cargo.toml
index 3f6774be1..0723051d9 100644
--- a/crates/integrations/playground/Cargo.toml
+++ b/crates/integrations/playground/Cargo.toml
@@ -21,6 +21,7 @@ edition.workspace = true
 homepage.workspace = true
 license.workspace = true
 name = "iceberg-playground"
+publish = false
 readme = "README.md"
 repository.workspace = true
 rust-version.workspace = true
diff --git a/crates/sqllogictest/Cargo.toml b/crates/sqllogictest/Cargo.toml
index a64ce51ba..73c44bce0 100644
--- a/crates/sqllogictest/Cargo.toml
+++ b/crates/sqllogictest/Cargo.toml
@@ -20,6 +20,7 @@ edition = { workspace = true }
 homepage = { workspace = true }
 license = { workspace = true }
 name = "iceberg-sqllogictest"
+publish = false
 repository = { workspace = true }
 rust-version = { workspace = true }
 version = { workspace = true }
diff --git a/crates/storage/opendal/Cargo.toml 
b/crates/storage/opendal/Cargo.toml
index 82de20479..9256c1948 100644
--- a/crates/storage/opendal/Cargo.toml
+++ b/crates/storage/opendal/Cargo.toml
@@ -19,6 +19,7 @@
 edition = { workspace = true }
 license = { workspace = true }
 name = "iceberg-storage-opendal"
+publish = true
 repository = { workspace = true }
 version = { workspace = true }
 
diff --git a/crates/test_utils/Cargo.toml b/crates/test_utils/Cargo.toml
index 383448881..f72be2171 100644
--- a/crates/test_utils/Cargo.toml
+++ b/crates/test_utils/Cargo.toml
@@ -19,6 +19,7 @@
 edition = { workspace = true }
 homepage = { workspace = true }
 name = "iceberg_test_utils"
+publish = false
 rust-version = { workspace = true }
 version = { workspace = true }
 

Reply via email to