65 lines
1.6 KiB
Markdown
65 lines
1.6 KiB
Markdown
# Preparation
|
|
|
|
1. Check that candidate revision passes all GHA jobs.
|
|
1. Review ABI change report from previous release tag to latest commit.
|
|
Ensure `PVXS_MINOR_VERSION` incrementes if not 100% (or if other ABI change
|
|
is known). See GHA `.github/workflows/release.yml` job.
|
|
|
|
```sh
|
|
./abi-diff.sh A.A.A HEAD
|
|
```
|
|
|
|
# Release Process
|
|
|
|
1. Check version number in `configure/CONFIG_PVXS_VERSION`
|
|
2. Remove pre-release suffix in `setup.py`
|
|
3. Finalize section in `documentation/releasenotes.rst`
|
|
4. Search/replace `UNRELEASED` tags in doxygen comments
|
|
|
|
```sh
|
|
git grep -l UNRELEASED */pvxs/*.h documentation/*.rst | xargs sed -i -e 's|UNRELEASED|B.B.B|g'
|
|
```
|
|
|
|
Don't change in `details.rst` and `releasenotes.rst`
|
|
|
|
5. Create Git tag.
|
|
|
|
```sh
|
|
git tag -s -m B.B.B B.B.B
|
|
```
|
|
|
|
6. Push branches/tag (point of no return...)
|
|
|
|
```sh
|
|
git push origin B.B.B master
|
|
```
|
|
|
|
7. Verify GHA builds and pypi uploads
|
|
|
|
```sh
|
|
virtualenv /tmp/p4p-bin
|
|
/tmp/p4p-bin/bin/pip install pvxslibs
|
|
cd /tmp && /tmp/p4p-bin/bin/python -m nose2 -v pvxslibs nose2
|
|
|
|
virtualenv /tmp/p4p-src
|
|
/tmp/p4p-src/bin/pip install --no-binary epicscorelibs,pvxslibs pvxslibs nose2
|
|
cd /tmp && /tmp/p4p-src/bin/python -m nose2 -v pvxslibs
|
|
```
|
|
|
|
8. Create github.com release B.B.B
|
|
|
|
Summarize changes and attach coverage and ABI difference reports.
|
|
|
|
Download ABI diff and coverage reports from successful GHA job for tag, and attach to release.
|
|
|
|
9. Announce on tech-talk
|
|
|
|
Reply to previous announcement mail.
|
|
|
|
## Post Release
|
|
|
|
1. Update `configure/CONFIG_PVXS_VERSION`
|
|
Increment `PVXS_MAINTENANCE_VERSION` and add new `PVXS_#_#_#`
|
|
2. Add pre-release suffix in `setup.py`
|
|
3. New section in `documentation/releasenotes.rst`
|