Release process for NetSurf
ensure you are at the commit from which you want to create the release
git branch -vv
check the resources for the frontends you are releasing are up to date:
Fatmessages copyright year
credits file copyright years (at a minimum)
resources/en/credits.html resources/it/credits.html resources/nl/credits.html
licence file copyright years (at a minimum)
resources/en/licence.html resources/it/licence.html resources/nl/licence.html
amiga readme copyright files
windows frontend installer
Ensure the ca-bundle is updated
create a branch
releasing/<version number> and switch to it
git branch releasing/3.11 git checkout releasing/3.11
update desktop/version.c to something like
#include "testament.h" const char * const netsurf_version = "3.11 (25th April 2016)"; const int netsurf_version_major = 3; const int netsurf_version_minor = 11;
update frontends/amiga/version.c along the same lines
#define NETSURF_VERSION_MAJOR "3" #define NETSURF_VERSION_MINOR_EXTERNAL "11"
commit to the branch
git commit -m 'Update version files for release'
once you are sure everything is correct and committed tag the branch for release
git tag -s -m 'Official Release' release/<version number>
Next do a dry run push
git push -n --tags
ensure this shown the correct repo and the release tag something like
[gitano] Welcome to the NetSurf Gitano instance. To ssh://firstname.lastname@example.org/netsurf.git * [new tag] release/3.11 -> release/3.11
Next the branch must be merged back to master.
git checkout master git merge -s ours heads/releasing/3.11
utils/jenkins-build.sh ready for the next release cycle
git add desktop/version.c frontends/amiga/version.c utils/jenkins-build.sh git commit -m 'Update version for next development cycle'
Remove releasing branch
git branch -d releasing/3.11 Deleted branch releasing/3.11 (was 66fe825c8).
finally push master
git push origin master
If that verifies as correct
git push --tags
and the release tag is pushed, too late now so be careful and check!
Please do ensure you thoroughly check your work at each step as mistakes are hard to fix once pushed.