Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

automate building Release Candidate in github action #1391

Open
wants to merge 29 commits into
base: main
Choose a base branch
from

Conversation

kevinjqliu
Copy link
Contributor

@kevinjqliu kevinjqliu commented Dec 1, 2024

Related to #1306 and #872
Devlist discussion: https://lists.apache.org/thread/oowhcfwv3fcjzdzm76tbn99k5q84mr75

This PR changes .github/workflows/python-release.yml to build the artifacts for both svn and pypi and update the "how to release doc" to match the new process. Other improvements related to the release process are also included:

  • Trigger GitHub Action on tag push
  • Trigger GitHub Action manually with required input fields for both version and rc
  • Validate version and rc from either tag or manual input
  • Validate version against the current library version
  • Changed actions/checkout@v4 fetch-depth from 0 to 1 to fetch only a single commit (fetch-depth 0 fetches all history for all branches and tags)
  • Generate artifact for SVN named svn-release-candidate-${VERSION}rc${RC}
  • Generate artifact for PyPi named pypi-release-candidate-${VERSION}rc${RC}, set library version to one with RC (e.g. 0.8.1rc1, same behavior as before)

Final release process should look something like this

  • prepare local branch for release (main for major/minor, branch for patch release)
  • Create and push tag with RC (e.g. 0.8.1rc1)
  • Tag push automatically triggers the GitHub Action
  • Github action builds artifacts for both svn and pypi
  • Download svn artifact, create checksum and signature, and upload to SVN dev dist
  • Download pypi artifact and upload to PyPi
  • Send vote email
  • Once passed, download artifact from SVN dev dist, upload to SVN release dist and pypi
  • If a new RC is needed, create and push another tag with RC (e.g. 0.8.1rc2)

Testing

@kevinjqliu kevinjqliu force-pushed the kevinjqliu/run-pypi-and-svn branch from b26c2a7 to b22117b Compare December 4, 2024 06:46
@kevinjqliu
Copy link
Contributor Author

@Fokko could you take a look at this PR when you get a chance?
I tested the new action and instructions via my fork, had to push this branch to main on my fork in order to run the GitHub Action.

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.

1 participant