Skip to content

ci: add python release pipeline#212

Merged
JingsongLi merged 1 commit intoapache:mainfrom
luoyuxia:issue-211-python-release-pipeline
Apr 6, 2026
Merged

ci: add python release pipeline#212
JingsongLi merged 1 commit intoapache:mainfrom
luoyuxia:issue-211-python-release-pipeline

Conversation

@luoyuxia
Copy link
Copy Markdown
Contributor

@luoyuxia luoyuxia commented Apr 6, 2026

Purpose

Linked issue: close #211

Add a dedicated GitHub Actions release workflow for the Python binding so tagged releases can publish pre-release artifacts to TestPyPI and stable artifacts to PyPI.

Brief change log

  • add .github/workflows/release_python_binding.yml to build sdist and platform wheels for bindings/python;
  • publish release candidates to TestPyPI and stable tags to PyPI based on the pushed tag name;
  • upload build artifacts between jobs before the publish step;
  • simplify .github/workflows/release-rust.yml to use CARGO_REGISTRY_TOKEN directly for crates.io publishing.

Tests

  • validated workflow YAML syntax with ruby -e 'require "yaml"; YAML.load_file(...)' for the touched workflow files
  • did not run cargo test; this change only updates GitHub Actions release workflows

API and Format

No API or storage format changes.

Documentation

No additional documentation updates are required.

Copy link
Copy Markdown
Contributor Author

@luoyuxia luoyuxia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of is copied from fluss-rust, which already verify the python release.


- name: Get crates.io token (OIDC)
if: startsWith(github.ref, 'refs/tags/') && !contains(github.ref, '-') && vars.CARGO_USE_TOKEN_AUTH != 'true'
uses: rust-lang/crates-io-auth-action@v1
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

according to fluss-rust experience, OIDC is not allowed to execute in asf. CARGO_REGISTRY_TOKEN is enough.

@JingsongLi JingsongLi merged commit 6b29f60 into apache:main Apr 6, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add GitHub Actions workflow for Python binding releases

2 participants