Make sure you have PyPI account with maintainer access to the EVA project.
Create a .pypirc in your $HOME directory.
It should look like this (contain your PyPI credentials):
[distutils]
index-servers =
pypi
[pypi]
repository = https://upload.pypi.org/legacy/
username=YOUR_USERNAME
password=YOUR_PASSWORD
Then run chmod 600 ./.pypirc so only you can read/write.
-
Make sure you're in the top-level
evadirectory. -
Make certain your branch is in sync with head:
$ git pull origin master -
Add a new changelog entry for the release.
## [0.0.6] ### [Breaking Changes] ### [Added] ### [Changed] ### [Deprecated] ### [Removed]
Make sure CHANGELOG.md is up to date for the release: compare against PRs
merged since the last release.
-
Update version to, e.g. 0.0.6 (remove the
+devlabel) ineva/version.py. -
Commit these changes and create a PR:
git checkout -b release-v0.0.6 git add . -u git commit -m "[RELEASE]: v0.0.6" git push --set-upstream origin release-v0.0.6 -
Once the PR is approved, merge it and pull master locally.
-
Tag the release:
git tag -a v0.0.6 -m "v0.0.6 release" git push origin v0.0.6 -
Build source & wheel distributions:
rm -rf dist build # clean old builds & distributions python3 setup.py sdist # create a source distribution python3 setup.py bdist_wheel # create a universal wheel -
Check that everything looks correct by installing the wheel locally and checking the version:
python3 -m venv test_evadb # create a virtualenv for testing source test_evadb/bin/activate # activate virtualenv python3 -m pip install dist/evadb-0.9.1-py3-none-any.whl python3 -c "import eva; print(eva.__version__)" -
Publish to PyPI
pip install twine # if not installed twine upload dist/* -r pypi -
A PR is auto-submitted (this will take a few hours) on
conda-forge/eva-feedstockto update the version.- A maintainer needs to accept and merge those changes.
-
Create a new release on Github.
- Input the recently-created Tag Version:
v0.0.6 - Copy the release notes in
CHANGELOG.mdto the GitHub tag. - Attach the resulting binaries in (
dist/evadb-x.x.x.*) to the release. - Publish the release.
- Input the recently-created Tag Version:
-
Update version to, e.g. 0.9.1+dev in
eva/version.py. -
Add a new changelog entry for the unreleased version in
CHANGELOG.md:## [Unreleased] ### [Breaking Changes] ### [Added] ### [Changed] ### [Deprecated] ### [Removed] -
Commit these changes and create a PR:
git checkout -b bump-v0.9.1+dev git add . -u git commit -m "[BUMP]: v0.9.1+dev" git push --set-upstream origin bump-v0.9.1+dev -
Add the new tag to the EVA project on ReadTheDocs,
- Trigger a build for main to pull new tags.
- Go to the "Versions" tab, and "Activate" the new tag.
- Go to Admin/Advanced to set this tag as the new default version.
- In "Overview", make sure a build is triggered:
- For the tag
v0.9.1 - For
latest
- For the tag