83 lines
1.7 KiB
Markdown
83 lines
1.7 KiB
Markdown
# Preparation
|
|
|
|
1. Generate 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)
|
|
|
|
```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. Generate ABI change report for upload
|
|
|
|
```sh
|
|
./abi-diff.sh A.A.A B.B.B
|
|
```
|
|
|
|
7. Generate test coverage report for upload
|
|
|
|
```sh
|
|
./coverage.sh B.B.B
|
|
```
|
|
|
|
8. Generate documentation and update `gh-pages` branch.
|
|
|
|
```sh
|
|
make
|
|
make -C documentation clean
|
|
make -C documentation commit
|
|
```
|
|
|
|
9. Push branches/tag (point of no return...)
|
|
|
|
```sh
|
|
git push origin B.B.B master +gh-pages
|
|
```
|
|
|
|
10. 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
|
|
```
|
|
|
|
|
|
11. Create github.com release B.B.B
|
|
|
|
Summarize changes and attach coverage and ABI difference reports.
|
|
|
|
12. 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`
|