sane-project-backends/doc/releases.txt

67 wiersze
2.5 KiB
Plaintext

2019-07-30
This text summarizes some points to pay attention to when a new release
of sane-backends is planned.
Timetable (approximate periods):
Day 0: Announcement of upcoming release on sane-devel including timetable
and pointer to the GitLab milestone
Day 14: Feature freeze (only bugfixes + documentation updates)
Day 28: Code freeze (only fixes for bugs that can destroy hardware, can cause
compilation problems or render a backend completely unusable, and
documentation updates are allowed)
Day 35: Release
Before the release:
* set :new :yes on any new backend .desc files, by looking for added files:
version=1.0.27
git ls-files -- backend | while read f; do
git log --follow --diff-filter=A --find-renames=40% \
--format="%ai $f" $version..HEAD -- "$f"
done | cat
* NEWS: update and enter date of release, etc
Get list of heavily change backends via: git diff --stat $version..HEAD
Get list of details from: git log $version..HEAD
* git commit -a
* git push origin master
Making the release:
* temporarily set a PRIVATE_TOKEN variable in the GitLab CI/CD
variables. You have to create one in your own Settings > Access
Tokens. Set it to expire the next day to avoid abuse. Better yet,
remove it from the CI/CD variables when the job is finished.
* git tag -a -s 1.0.28 -m Release
* git push --tags origin master
* trigger the manual 'release' stage of the build via the web UI when
this becomes possible. This requires a valid PRIVATE_TOKEN.
Updating the website and announcing the release:
* checkout the sane/website.git module and:
* copy sane-backends.html to sane-backends-"old-version".html
* update sane-supported-devices.html with link to above "old" file
* rebuild sane-backends.html and sane-mfgs.html (make -C doc html-pages)
* [TBD] use man2html from http://hydra.nac.uci.edu/indiv/ehood/man2html.html
to rebuild html man pages (make -C doc html-man) (no other version works)
* update announcement to index.html
* git commit -a && git push
* check that website's pipeline succeeded
* announce release on sane-announce mailing list (and Cc: sane-devel).
Ping the sane-announce list's moderator (m. allan noah) to get your
post approved ASAP.
After the release:
* extract source tarball's ChangeLog to ChangeLogs/ChangeLog-$version
(and strip the file's trailer pointing to ChangeLogs/)
* start a new ChangeLog via git checkout ChangeLog
* bump version number in tools/create-changelog.sh
* remove the ':new' tag from all doc/descriptions*/*.desc files
* git add new and changed files and commit
* git push