Skip to content

Commit 5dfdc25

Browse files
committed
updates in response to PR comments
1 parent eb6f976 commit 5dfdc25

1 file changed

Lines changed: 20 additions & 15 deletions

File tree

‎RELEASE.md‎

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,28 @@
11
# Releasing Kaleido
22

3+
Follow the steps in this document to release a new version of Kaleido.
4+
35
## Overview
46

5-
Versions are determined automatically from git tags by `setuptools-git-versioning`. There is no hard-coded version string to update. Pushing a `v*` tag triggers CI, which tests and publishes the package to TestPyPI. Publishing to PyPI is done manually.
7+
- Versions are determined automatically from git tags by `setuptools-git-versioning`. There is no hard-coded version string to update. Pushing a `v*` tag triggers CI, which tests and publishes the package to TestPyPI.
8+
- Publishing to PyPI and creating a GitHub release are done manually.
69

710
## Release steps
811

912
1. Create release branch titled `release-vX.Y.Z`
10-
- We try to follow [semantic versioning guidelines](https://semver.org) as much as possible
13+
- We try to follow [semantic versioning guidelines](https://semver.org) as much as possible
1114
2. Update the changelog:
1215
- Review the items in `CHANGELOG.md` under the "Unreleased" header
13-
- Ensure all items follow this format:
16+
- Ensure all items follow this format:
1417
- `- Description of change [[#XXXX](https://github.com/plotly/Kaleido/pull/XXXX)]`
15-
- ...followed by `with thanks to @username for the contribution!` if the PR is from a community contributor
18+
- ...followed by `with thanks to @username for the contribution!` if the PR is from a community contributor
1619
- Add any missing items (PRs which were merged since the last release)
17-
- PRs which don't change the contents of the built package (e.g. changes to the README, etc.) and minor dependency upgrades don't need to be mentioned
20+
- PRs which don't change the contents of the built package (e.g. changes to the README, etc.) and minor dependency upgrades don't need to be mentioned
1821
- Add a header `## vX.Y.Z` above the unreleased items, under `## Unreleased`
1922
- Commit and push the `CHANGELOG.md` updates
20-
- Note: In most cases, no other files need to be updated for the release. This is because the build process determines the package version from git tags, so the version number itself doesn't need to be updated anywhere besides the changelog.
21-
5. Open a PR into `main`, wait for tests to pass, get approval, and then merge into `main`
22-
6. On your local machine, tag the release branch merge commit with the version number:
23+
- _Normally, the changelog is the only file that needs to be updated when making a release. The package version is determined automatically as explained in the overview above._
24+
3. Open a PR into `main`, wait for tests to pass, get approval, and then merge into `main`.
25+
4. On your local machine, check out `main`, pull, and tag the release branch merge commit with the version number:
2326

2427
git checkout main
2528
git pull
@@ -34,25 +37,27 @@ Versions are determined automatically from git tags by `setuptools-git-versionin
3437

3538
nothing to commit, working tree clean
3639

37-
- If needed, stash or delete/move files to get to a clean environment. This is important because `setuptools-git-versioning` will not generate the correct version number if you have untracked or changed files presesnt.
40+
- If needed, stash or delete/move files to get to a clean environment. This is important because `setuptools-git-versioning` will not generate the correct version number if you have untracked or changed files present.
3841
- Build the package:
3942

4043
cd src/py/
4144
python -m build
42-
45+
4346
- Two artifacts will be added to `src/py/dist`. Ensure that they have the correct filenames:
44-
- `kaleido-X.Y.Z-py3-none-any.whl`
45-
- `kaleido-X.Y.Z.tar.gz`
46-
7. Release on GitHub:
47+
- `kaleido-X.Y.Z-py3-none-any.whl`
48+
- `kaleido-X.Y.Z.tar.gz`
49+
6. Release on GitHub:
4750
- Go to https://github.com/plotly/Kaleido/releases and click "Draft a new release"
4851
- Select the `vX.Y.Z` tag you created previously
4952
- Copy and paste the relevant changelog section into the release notes
5053
- Upload the `.whl` and `.tar.gz` build artifacts
51-
8. Release on PyPI:
54+
7. Release on PyPI:
5255
- Install the `twine` Python package if not already installed (`pip install twine`)
5356
- `cd` into the `dist/` directory
5457
- Use `twine` to upload the artifacts to PyPI:
5558

56-
twine upload `kaleido-X.Y.Z*`
59+
twine upload kaleido-X.Y.Z*
60+
5761
- You will need to enter an API token proving you have permission to publish
5862

63+
That's it! Make sure to visit https://pypi.org/project/kaleido to verify that the new package version is available.

0 commit comments

Comments
 (0)