|
1 | 1 | # Release process |
2 | 2 |
|
3 | | -1. Bump the version number in `setup.cfg` and `singlestoredb/__init__.py` using |
4 | | - semantic versioning rules: minor bump for new features, patch bump for |
5 | | - bug fixes. |
| 3 | +## Bump the package version and build documentation |
6 | 4 |
|
7 | | -2. Add release notes to `docs/src/whatsnew.rst`. |
| 5 | +Bump the version number in `setup.cfg` and `singlestoredb/__init__.py` using |
| 6 | +semantic versioning rules: minor bump for new features, patch bump for |
| 7 | +bug fixes. Add release notes to `docs/src/whatsnew.rst`. Run `make html` in |
| 8 | +`docs/src` to generate documentation. |
8 | 9 |
|
9 | | -3. Run `SINGLESTOREDB_URL=root:@db-server:db-port make html` in `docs/src` to |
10 | | - generate documentation. You will need `sphinx` and `sphinx_rtd_theme` installed |
11 | | - for this step. You also need a SingleStoreDB server running at the given |
12 | | - IP and port to run samples against. |
| 10 | +You will need `sphinx` and `sphinx_rtd_theme` installed for this step. You |
| 11 | +also need a SingleStoreDB server running at the given IP and port to run |
| 12 | +samples against. |
13 | 13 |
|
14 | | -4. Commit all changed files with a commit like "Prepare for vX.X.X release". |
| 14 | +There is a utility to do this process for you, but you should check the |
| 15 | +`docs/src/whatsnew.rst` to verify the release summary. Use the following |
| 16 | +to run it: |
| 17 | +``` |
| 18 | +resources/bump_version.py < major | minor | patch > |
15 | 19 |
|
16 | | -5. The coverage tests will be triggered by the push, but you should also run |
17 | | - `Smoke test` workflow manually which does basic tests on all supported versions |
18 | | - of Python. |
| 20 | +``` |
19 | 21 |
|
20 | | -6. Once all workflows are clean, create a new Github release with the name |
21 | | - "SingleStoreDB vX.X.X" and set the generated tag to the matching version |
22 | | - number. Add the release notes from the `whatsnew.rst` file to the release |
23 | | - notes. Creating the release will run the `Public packages` workflow which |
24 | | - builds the packages and pubsishes them to PyPI. |
| 22 | +## Commit and push the changes |
| 23 | + |
| 24 | +After verifying the release summary in the documentation, commit the changes: |
| 25 | +``` |
| 26 | +# Make sure newly generated docs get added |
| 27 | +git add docs |
| 28 | +
|
| 29 | +# Commit changes |
| 30 | +git commit -am "Prepare for vX.X.X release". |
| 31 | +
|
| 32 | +git push |
| 33 | +
|
| 34 | +``` |
| 35 | + |
| 36 | +## Run smoke tests |
| 37 | + |
| 38 | +The coverage tests will be triggered by the push, but you should also run |
| 39 | +[Smoke test](https://github.com/singlestore-labs/singlestoredb-python/actions/workflows/smoke-test.yml) |
| 40 | +workflow manually which does basic tests on all supported versions of Python. |
| 41 | + |
| 42 | +## Create the release on Github |
| 43 | + |
| 44 | +Once all workflows are clean, create a new Github release with the name |
| 45 | +"SingleStoreDB vX.X.X" at <https://github.com/singlestore-labs/singlestoredb-python/releases> |
| 46 | +and set the generated tag to the matching version |
| 47 | +number. Add the release notes from the `whatsnew.rst` file to the release |
| 48 | +notes. Creating the release will run the [Publish packages](https://github.com/singlestore-labs/singlestoredb-python/actions/workflows/publish.yml) |
| 49 | +workflow which builds the packages and pubsishes them to PyPI. |
0 commit comments