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 }