-
Notifications
You must be signed in to change notification settings - Fork 41
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #220 from MLBazaar/release_v0.5.0
v0.5.0
- Loading branch information
Showing
4 changed files
with
101 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
name: Publish on PyPI | ||
on: | ||
release: | ||
types: [published] | ||
jobs: | ||
pypi: | ||
name: PyPI Release | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up python 3.10 | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: '3.10' | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install setuptools --upgrade | ||
python -m pip install packaging --upgrade | ||
- name: Set pyproject version | ||
run: | | ||
echo "PACKAGE=$(python -c 'import setuptools; setuptools.setup()' --version)" >> $GITHUB_ENV | ||
- name: Check package version (compare package version with tag) | ||
id: check_package_version | ||
shell: python | ||
run: | | ||
import os | ||
from packaging.version import parse | ||
package_version = os.getenv('PACKAGE') | ||
if parse(package_version) != parse('${{ github.event.release.tag_name }}'): | ||
print(f'version mismatch: {package_version} (in package) vs ${{ github.event.release.tag_name }} (GitHub tag)') | ||
exit(1) | ||
else: | ||
print('version match') | ||
exit(0) | ||
- name: Create whl and tar.gz files in sdist | ||
run: | | ||
rm -rf docs/ Examples/ tests/ | ||
make package | ||
- name: Publish a Python distribution to PyPI | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
username: __token__ | ||
password: ${{ secrets.PYPI_API_TOKEN }} | ||
repository_url: https://upload.pypi.org/legacy/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
__version__ = "0.4.1" | ||
__version__ = "0.5.0" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
# Release Process | ||
|
||
## 0. Pre-Release Checklist | ||
|
||
Before starting the release process, verify the following: | ||
|
||
- [GitHub Action for Unit Tests are green on main](https://github.com/MLBazaar/BTB/actions/workflows/tests.yml?query=branch:main) | ||
- [GitHub Action for Install Tests are green on main](https://github.com/MLBazaar/BTB/actions/workflows/install_test.yaml?query=branch:main) | ||
- Get agreement on the version number to use for the release. | ||
|
||
#### Version Numbering | ||
|
||
BTB uses [semantic versioning](https://semver.org/). Every release has a major, minor and patch version number, and are displayed like so: `<majorVersion>.<minorVersion>.<patchVersion>`. | ||
|
||
## 1. Create BTB release on GitHub | ||
|
||
#### Create Release Branch | ||
|
||
1. Branch off of BTB main. For the branch name, please use "release_vX.Y.Z" as the naming scheme (e.g. "release_v0.3.1"). | ||
|
||
#### Bump Version Number | ||
|
||
1. Bump `__version__` in `baytune/version.py`, and `tests/test_version.py`. | ||
|
||
#### Update Changelog | ||
|
||
1. Replace top most "What’s new in" in `docs/changelog.rst` with the current date | ||
|
||
``` | ||
What’s new in 0.3.1 (January 4, 2023) | ||
===================================== | ||
``` | ||
2. Remove any unused sections for this release (e.g. Enhancements, Fixes, Changes) | ||
3. The release PR does not need to be mentioned in the list of changes | ||
#### Create Release PR | ||
A release PR should have **the version number as the title** and the notes for that release as the PR body text. | ||
Checklist before merging: | ||
- The title of the PR is the version number. | ||
- All tests are currently green on checkin and on `main`. | ||
- PR has been reviewed and approved. | ||
## 2. Create GitHub Release | ||
After the release pull request has been merged into the `main` branch, it is time draft [the GitHub release](https://github.com/HDI-Project/BTB/releases/new) | ||
- The target should be the `main` branch | ||
- The tag should be the version number with a v prefix (e.g. v0.3.1) | ||
- Release title is the same as the tag | ||
- This is not a pre-release | ||
- Publishing the release will automatically upload the package to PyPI |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,4 +2,4 @@ | |
|
||
|
||
def test_version(): | ||
assert __version__ == "0.4.1" | ||
assert __version__ == "0.5.0" |