You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: Chain wheel test/build and release workflows (#2483)
## What does this PR do?
This commit refactors the Python wheel CI and release process to use a
chained workflow model, ensuring that the exact same test and build
process is run for both CI checks and releases.
A new reusable workflow, `.github/workflows/build-and-test-core.yml`, is
introduced. This workflow is triggered on `push` and `pull_request` for
CI purposes, and can also be called by other workflows via
`workflow_call`. It contains the full logic for building, testing, and
packaging the Python wheel across a matrix of operating systems and
Python versions.
The `release.yaml` workflow is refactored to be an orchestrator. On a
new tag, it now calls the `build-and-test-core.yml` workflow to run all
tests. If the tests pass, it proceeds to a separate job to download the
wheel artifacts produced by the test run and publish them to PyPI.
This architecture ensures that every release is automatically and
thoroughly tested in the exact same manner as pull requests, just before
publication.
## Related issues
#2472#2480
## Does this PR introduce any user-facing change?
No
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Shawn Yang <chaokunyang@apache.org>
0 commit comments