Currently, we only have a single release process for pushing releases off main.
-
Create a Tag
- Navigate to the repository's main branch.
- Create a new tag adhering to the convention
vX.Y.Z, whereX.Y.Zrepresents the new version number. - Push the newly created tag to the remote repository.
-
Create a Release
- Go to the 'Releases' section of your GitHub repository.
- Click on 'Draft a new release'.
- Select the tag you just pushed from the 'Release a new tag' dropdown.
- Utilize the 'Generate release notes' feature to automatically populate notes based on changes since the last release.
-
Prepare for Publication
- Review and finalize the drafted release notes.
- Ensure all necessary files and metadata are included.
-
Publish the Release
- Once satisfied, publish the release by clicking the 'Publish release' button.
-
Automated Publishing to PyPi
- Upon publishing, the
build-and-publish.yamlworkflow will be triggered. - This workflow will execute, constructing a new wheel file, and subsequently push it to PyPi.
- Upon publishing, the
This action will publish to TestPyPi for quality assurance before final publishing to PyPi:
-
Access the build-and-publish workflow within GitHub Actions.
-
From the 'Run workflow' dropdown, select the desired branch (
main) and specify a pre-release tag, such asv1.3.0.rc1. -
Manually activate the workflow through the 'Run workflow' button.
-
For TestPyPi package installation:
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/project ibm-fms==v1.3.0rc1