|
| 1 | +# Release Process |
| 2 | + |
| 3 | +> **Note:** This document is intended for project administrators or maintainers who have the necessary permissions to create releases and manage workflows. Contributors should refer to the [CONTRIBUTING](CONTRIBUTING.md) guidelines. |
| 4 | +
|
| 5 | +This document outlines the steps to create and publish releases for the `wiley-tdm` project. Follow these instructions to ensure a smooth release process. |
| 6 | + |
| 7 | +## Steps to Create a Release |
| 8 | + |
| 9 | +This will be automated/improved in the future |
| 10 | + |
| 11 | +1. **Update version references:** |
| 12 | + - [pyproject.toml](pyproject.toml): Project version |
| 13 | + - [README](README.md): Version badge |
| 14 | + - [CHANGELOG](CHANGELOG.md): Release details |
| 15 | + - [tdm_client.py](src/wiley_tdm/tdm_client.py): API_USER_AGENT |
| 16 | + |
| 17 | +2. **Commit changes locally:** |
| 18 | + ```bash |
| 19 | + git commit -m "Prepare for release 1.0.0: update version references in pyproject.toml, README.md, CHANGELOG.md, and tdm_client.py" |
| 20 | + ``` |
| 21 | + |
| 22 | +3. **Confirm build success** |
| 23 | + - [Check CI](https://github.com/WileyLabs/tdm-client/actions/workflows/ci.yml) |
| 24 | + |
| 25 | +4. **Publish to TestPyPI:** |
| 26 | + - Manually run [Publish-Test](https://github.com/WileyLabs/tdm-client/actions/workflows/publish-test.yml) workflow, select Tag |
| 27 | + - Confirm success |
| 28 | + - Check [TestPyPI](https://test.pypi.org/project/wiley-tdm/) |
| 29 | + |
| 30 | +5. **Publish to PyPI:** |
| 31 | + - Create a new GitHub [Release](https://github.com/WileyLabs/tdm-client/releases) |
| 32 | + - Check [Publish](https://github.com/WileyLabs/tdm-client/actions/workflows/publish.yml) workflow (automatically triggered) |
| 33 | + - Confirm success |
| 34 | + - Check [PyPI](https://pypi.org/project/wiley-tdm/) |
| 35 | + |
| 36 | +## Pre-Releases |
| 37 | + |
| 38 | +Pre-releases (e.g., `1.0.0-rc1`) are used for testing purposes and are only published to TestPyPI. Follow steps 1–4 above for pre-releases, but do not proceed to step 5 (publishing to PyPI). |
0 commit comments