2020-06-14 21:39:58 +00:00
|
|
|
# Release procedure
|
|
|
|
|
|
|
|
## Precheck
|
|
|
|
|
2020-06-08 07:01:58 +00:00
|
|
|
* Review the testing checklist (doc/testing-checklist.md)
|
2020-05-07 04:53:23 +00:00
|
|
|
* clang-tidy check with something like:
|
|
|
|
* `cmake "-DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-11;-checks=-*,clang-analyzer-*,modernize-*,performance-*" ..`
|
|
|
|
* `scan-build cmake .. && scan-build make`
|
2020-06-14 21:39:58 +00:00
|
|
|
|
|
|
|
## Release
|
|
|
|
|
2020-04-19 06:24:03 +00:00
|
|
|
* Run tools/release.sh $OLDVERSION $VERSION
|
2020-06-19 19:25:41 +00:00
|
|
|
* Opens an editor to finalize NEWS.md
|
2020-04-19 06:24:03 +00:00
|
|
|
* Bumps version numbers everywhere they need bumping
|
|
|
|
* Commits changes, tags result with v$VERSION, pushes tag
|
|
|
|
* Downloads new tarball and signs it
|
|
|
|
* Upload signature to github
|
2019-11-29 03:19:15 +00:00
|
|
|
* Draft new release at https://github.com/dankamongmen/notcurses/releases
|
|
|
|
* Title is "v$VERSION—some quip"
|
|
|
|
* That's an em dash (U+2014, UTF-8 e2 80 94), get it right
|
2020-06-14 21:39:58 +00:00
|
|
|
* Upload new Rust crate with `cargo publish`
|
|
|
|
* Upload new Python pip with
|
|
|
|
* `python3 setup.py sdist`
|
|
|
|
* `twine upload dist/*`
|
|
|
|
* Generate and upload new HTML documentation via `make html`
|
|
|
|
* `scp *.html ../doc/man/index.html qemfd.net:/var/www/notcurses/`
|
|
|
|
* Generate and upload new Doxygen documentation via `doxygen ../doc/Doxyfile`
|
|
|
|
* `scp -r html qemfd.net:/var/www/notcurses/`
|
|
|
|
|
2020-06-14 22:59:35 +00:00
|
|
|
## Packaging
|
|
|
|
|
|
|
|
### Debian
|
2020-06-14 21:39:58 +00:00
|
|
|
|
2020-04-19 19:55:43 +00:00
|
|
|
* In gbp repository:
|
2020-04-19 21:12:13 +00:00
|
|
|
* Update Debian changelog, if necessary: `dch -v $VERSION+dfsg.1-1`
|
2020-04-19 19:55:43 +00:00
|
|
|
* Finalize Debian changelog with `dch -r`
|
|
|
|
* Repack DFSG-safe tarball with uscan, upload to github
|
2020-04-19 21:12:13 +00:00
|
|
|
* `uscan --repack --compression xz --force`
|
2020-06-05 12:05:02 +00:00
|
|
|
* `gpg --sign --armor --detach-sign ../notcurses_$VERSION+dfsg.1.orig.tar.xz`
|
2020-05-07 13:04:50 +00:00
|
|
|
* sign, upload dfsg+sig to github
|
|
|
|
* import new version: `gbp import-orig ../notcurses_$VERSION+dfsg.1.orig.tar.xz`
|
2020-04-27 01:38:32 +00:00
|
|
|
* `git push --tags`
|
2020-04-19 19:55:43 +00:00
|
|
|
* build source package: `dpkg-buildpackage --build=source`
|
2020-06-05 12:05:02 +00:00
|
|
|
* build binaries: `cd .. && export TERM=xterm-256color && sudo pbuilder build *dsc`
|
2020-06-01 20:07:00 +00:00
|
|
|
* perform this in xterm with TERM=xterm-256color
|
|
|
|
* beware: freak TERMs won't be present in pbuilder
|
2019-11-29 03:19:15 +00:00
|
|
|
* Copy `../*notcurses*$VERSION*` to apt repo, import with `reprepro`
|
2020-06-14 21:39:58 +00:00
|
|
|
* Update Debian changelog with `dch -v $NEXTVERSION-1`
|
|
|
|
* Update CMakeLists.txt with next version
|
|
|
|
|
2020-06-14 22:59:35 +00:00
|
|
|
### Fedora
|
|
|
|
|
|
|
|
* In pagure/notcurses master:
|
|
|
|
* Update notcurses.spec, bump version, add changelog entry
|
|
|
|
* clear out any old ersatz detritus
|
|
|
|
* spectool -g notcurses.spec
|
|
|
|
* fedpkg upload *.xz *.asc
|
|
|
|
* fedpkg new-sources *.xz *.asc
|
|
|
|
* fedpkg commit
|
|
|
|
* git push
|
|
|
|
* fedpkg build
|
|
|
|
* fedpkg switch-branch f32
|
|
|
|
* git merge master
|
|
|
|
|
|
|
|
### Arch
|
2020-06-14 21:39:58 +00:00
|
|
|
|
2019-11-29 03:19:15 +00:00
|
|
|
* Upload new AUR information
|
|
|
|
* Update `pkgver` and `sha256sums` entries
|
|
|
|
* `makepkg --printsrcinfo > .SRCINFO`
|
|
|
|
* Test that package builds with `makepkg`
|
|
|
|
* `git commit -a`
|
2020-06-01 21:26:56 +00:00
|
|
|
|
2020-06-14 22:59:35 +00:00
|
|
|
### FreeBSD
|
2020-06-01 21:26:56 +00:00
|
|
|
|
|
|
|
* Update svn checkout of Ports tree: `cd /usr/ports && svn up`
|
|
|
|
* Upgrade ports: `portupgrade -uap`
|
|
|
|
* `cd /usr/ports/devel/notcurses`
|
|
|
|
* Update `DISTVERSION` in `Makefile
|
|
|
|
* `sudo make makesum`
|
|
|
|
* `make stage`
|
|
|
|
* `make stage-qa`
|
|
|
|
* `portlint`
|
|
|
|
* `svn diff > ../`make -VPKGNAME`.diff
|
|
|
|
* File bug on devel/notcurses, attach diff
|