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
