notcurses/doc/release-checklist.md

89 lines
2.9 KiB
Markdown
Raw Normal View History

# Release procedure
## Precheck
* Review the testing checklist (doc/testing-checklist.md)
* 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`
## Release
2020-07-27 01:39:46 +00:00
* In toplevel, run `tools/release.sh $OLDVERSION $VERSION "quip"`:
* Cleans repo with `git clean -f -d -x`
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
* Uploads signature to github
* Uploads new Rust crates with `cargo publish`
* Uploads new Python pip with
* `python3 setup.py sdist`
* `twine upload dist/*`
* Generates and uploads new HTML documentation via `make html`
* `scp *.html ../doc/man/index.html qemfd.net:/var/www/notcurses/`
* `scp -r html qemfd.net:/var/www/notcurses/`
* Publishes new release at https://github.com/dankamongmen/notcurses/releases
* Title is "v$VERSION—some quip"
2020-06-14 22:59:35 +00:00
## Packaging
### Debian
2020-07-27 01:39:46 +00:00
* In gbp repository, run `tools/debrelease.sh $VERSION`:
* Updates Debian changelog with `dch -v $VERSION+dfsg.1-1`
* Finalizes Debian changelog with `dch -r`
* Repacks DFSG-safe tarball with `uscan`:
* `uscan --repack --compression xz --force`
* `gpg --sign --armor --detach-sign ../notcurses_$VERSION+dfsg.1.orig.tar.xz`
2020-07-27 01:39:46 +00:00
* Uploads repack + signature to github
* imports new version: `gbp import-orig ../notcurses_$VERSION+dfsg.1.orig.tar.xz`
* `git push --tags`
* builds source package: `dpkg-buildpackage --build=source`
* builds binaries: `cd .. && export TERM=xterm-256color && sudo pbuilder build *dsc`
* performs 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 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
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
### Alpine
* Update version in `APKBUILD`
* Run `abuild checksum` to get new checksums
* `abuild -r` to test `APKBUILD`
* create merge request
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