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

Xuanwo pushed a commit to branch xuanwo/release-rust-v0.58.0-hotfix
in repository https://gitbox.apache.org/repos/asf/opendal.git

commit 4b2a70afede1c09d7a464eb25db0d18e72a145c3
Author: Xuanwo <[email protected]>
AuthorDate: Fri Jul 10 19:44:12 2026 +0800

    ci: support targeted rust release publishing
---
 .github/scripts/release_rust/plan.py | 1 +
 .github/workflows/release_rust.yml   | 9 +++++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/.github/scripts/release_rust/plan.py 
b/.github/scripts/release_rust/plan.py
index 2f748a2da..125cc7ba8 100644
--- a/.github/scripts/release_rust/plan.py
+++ b/.github/scripts/release_rust/plan.py
@@ -31,6 +31,7 @@ PUBLISH_GLOBS = (
     "core/Cargo.toml",
     "core/core/Cargo.toml",
     "core/testkit/Cargo.toml",
+    "core/http-transports/*/Cargo.toml",
     "core/layers/*/Cargo.toml",
     "core/services/*/Cargo.toml",
     "integrations/*/Cargo.toml",
diff --git a/.github/workflows/release_rust.yml 
b/.github/workflows/release_rust.yml
index 7f56761fa..ef3cf6ae4 100644
--- a/.github/workflows/release_rust.yml
+++ b/.github/workflows/release_rust.yml
@@ -31,6 +31,11 @@ on:
       - ".github/scripts/release_rust/**"
       - "core/testkit/Cargo.toml"
   workflow_dispatch:
+    inputs:
+      packages:
+        description: "JSON array of package paths to publish. Leave empty to 
use the generated plan."
+        required: false
+        default: ""
 
 permissions:
   contents: read
@@ -47,7 +52,7 @@ jobs:
         run: python3 .github/scripts/release_rust/plan.py --github-output
 
   publish:
-    if: ${{ startsWith(github.ref, 'refs/tags/') && !contains(github.ref, '-') 
}}
+    if: ${{ (startsWith(github.ref, 'refs/tags/') && !contains(github.ref, 
'-')) || github.event_name == 'workflow_dispatch' }}
     needs: plan
     runs-on: ubuntu-latest
     permissions:
@@ -72,7 +77,7 @@ jobs:
         id: auth
       - name: Publish Rust crates
         env:
-          PACKAGES: ${{ needs.plan.outputs.packages }}
+          PACKAGES: ${{ github.event_name == 'workflow_dispatch' && 
inputs.packages != '' && inputs.packages || needs.plan.outputs.packages }}
           LD_LIBRARY_PATH: ${{ env.JAVA_HOME }}/lib/server:${{ 
env.LD_LIBRARY_PATH }}
           CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN || 
steps.auth.outputs.token }}
         run: python3 .github/scripts/release_rust/publish.py

Reply via email to