summaryrefslogtreecommitdiff
path: root/release_process.mdwn
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2017-02-14 10:06:59 +0000
committerVincent Sanders <vince@kyllikki.org>2017-02-14 10:06:59 +0000
commitb5e04eb14eb7d6f4c1eb01d0ce98660034f1fa8b (patch)
treed72a8f5fb066ae1a35da3bd99b5c34c017b44c8f /release_process.mdwn
parent90a93ee16d3374309dd36842f75a034706ce40e8 (diff)
downloadnetsurf-wiki-b5e04eb14eb7d6f4c1eb01d0ce98660034f1fa8b.tar.gz
netsurf-wiki-b5e04eb14eb7d6f4c1eb01d0ce98660034f1fa8b.tar.bz2
move release files into a separate directory
Diffstat (limited to 'release_process.mdwn')
-rw-r--r--release_process.mdwn273
1 files changed, 0 insertions, 273 deletions
diff --git a/release_process.mdwn b/release_process.mdwn
deleted file mode 100644
index 9243a7c..0000000
--- a/release_process.mdwn
+++ /dev/null
@@ -1,273 +0,0 @@
-[[!meta title="Release Process"]]
-[[!meta author="DanielSilverstone"]]
-[[!meta date="2016-11-19T12:05:07Z"]]
-
-
-[[!toc]]
-
-Releasing a new version of NetSurf and libraries
-------------------------------------------------
-
-firstly the libraries and tool sources should be created (only if they
-need an update)
-
-Order to release components in (if they require releasing)
-
-buildsystem is first and has an extra step
-
-Then libraries using the core buildsystem
-
-- libwapcaplet
-- libparserutils
-- libcss
-- libhubbub
-- libdom
-- libnsbmp
-- libnsgif
-- librosprite
-- libnsfb
-- libsvgtiny
-- nsgenbind
-- libutf8proc
-- libnsutils
-- libnspsl
-- libpencil
-- librufl
-
-NetSurf itself is last
-
-Release of the buildsystem
---------------------------
-
-The buildsystem follows exactly the same process as below except there
-is an additional step
-
-Because this is the buildsystem and provides the makefiles for all the
-other source builds you must go to the CI server and ensure the
-source-buildsystem job has successfully run and produced output in
-<http://ci.netsurf-browser.org/builds/sources/>
-
-Release for projects using buildsystem
---------------------------------------
-
-We perform all releases from git simply by pushing a
-release/<version number> tag
-
-Before creating the tag you should do some basic checks
-
-check the COMPONENT\_VERSION in the root Makefile matches the version
-number you are releasing, if not change it and commit it so it does.
-
-Any files that should not be put in the distribution archive must be
-placed in the .gitattributes file, as a minimum it should contain
-attributes for the .gitignore and gitattributes files e.g.
-
-`.gitignore export-ignore`
-`.gitattributes export-ignore`
-
-in your clone do
-
-`git branch -vv`
-
-ensure the top commit looks right and is what you want to tag, for extra
-paranoia check the .git/config to ensure the origin is the correct
-server. You do **not** have to tag from master, for example if this is a
-maintenance release of an old edition and you are tagging from a branch
-etc. just **ensure** you are where you want the release to be.
-
-Create the tag with
-
-`git tag -s -m 'Official Release' release/`<version number>
-
-Ensure the version number in the tag matches the component version.
-
-Now run
-
-`make dist`
-
-if you get
-
-Makefile:45: \*\*\* Component Version "1.0" and GIT tag version "1.1" do
-not match. Stop.
-
-you did not get the tag and version numbers lined up, go back, remove
-your local tag with
-
-`git tag -d release/`<bad version>
-
-and try again
-
-when you get a buildsystem-1.0.tar.gz (with appropriate version number)
-well done
-
-Check the contents of the tar are what you intended to release and
-adjust if not (obviously you will need to remove your local tag and
-start over with fresh commits.
-
-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://nsgit@git.netsurf-browser.org/buildsystem.git`](ssh://nsgit@git.netsurf-browser.org/buildsystem.git)
-` * [new tag]         release/1.0 -> release/1.0`
-
-If that verifies as correct
-
-`git push --tags`
-`git push`
-
-and the release tag is pushed, too late now so be careful and check!
-
-Releasing NetSurf
------------------
-
-ensure you are at the commit from which you want to create the release
-
-`git branch -vv`
-
-Remember that if you are releasing X.Y then amiga calls that X.Y+1 so
-don't be confused and do update amiga stuff.
-
-check the resources for the frontends you are releasing are up to date
-
-- copyright years
-- amiga/pkg/netsurf.readme and amiga/pkg/netsurf\_os3.readme
-- windows/res/installer.nsi
-
-create a branch release/<version number> and switch to it
-
-`git branch release/3.1`
-`git checkout release/3.1`
-
-update desktop/version.c to something like
-
-`#include "testament.h"`
-
-`const char * const netsurf_version = "3.6 (25th April 2016)";`
-`const int netsurf_version_major = 3;`
-`const int netsurf_version_minor = 6;`
-
-update amiga/version.c along the same lines
-
-once you are sure everything is correct, committed push it to the repo
-
-`git push origin release/3.1`
-
-finally 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://nsgit@git.netsurf-browser.org/buildsystem.git`](ssh://nsgit@git.netsurf-browser.org/buildsystem.git)
-` * [new tag]         release/3.1 -> release/3.1`
-
-If that verifies as correct
-
-`git push --tags`
-
-and the release tag is pushed, too late now so be careful and check!
-
-Next the branch must be merged back to master.
-
-`git checkout master`
-`git merge -s ours heads/release/3.1`
-
-Then edit desktop/version.c ready for the next release cycle
-
-`git add desktop/version.c`
-`git commit -m 'update version info for next development cycle'`
-
-finally push master
-
-`git push origin master`
-
-Please do ensure you \*thoroughly\* check your work at each step as
-mistakes are hard to fix once pushed.
-
-Releasing the all source
-------------------------
-
-clone the all repo
-
-`git clone `[`ssh://nsgit@git.netsurf-browser.org/netsurf-all.git`](ssh://nsgit@git.netsurf-browser.org/netsurf-all.git)
-
-ensure ther submodules are initialised
-
-`git submodule init`
-
-output will be something like
-
-`Submodule 'buildsystem' () registered for path 'buildsystem'`
-`Submodule 'libcss' () registered for path 'libcss'`
-`Submodule 'libdom' () registered for path 'libdom'`
-`Submodule 'libhubbub' () registered for path 'libhubbub'`
-`Submodule 'libnsbmp' () registered for path 'libnsbmp'`
-`Submodule 'libnsfb' () registered for path 'libnsfb'`
-`Submodule 'libnsgif' () registered for path 'libnsgif'`
-`Submodule 'libparserutils' () registered for path 'libparserutils'`
-`Submodule 'libpencil' () registered for path 'libpencil'`
-`Submodule 'librosprite' () registered for path 'librosprite'`
-`Submodule 'librufl' () registered for path 'librufl'`
-`Submodule 'libsvgtiny' () registered for path 'libsvgtiny'`
-`Submodule 'libwapcaplet' () registered for path 'libwapcaplet'`
-`Submodule 'netsurf' () registered for path 'netsurf'`
-`Submodule 'nsgenbind' () registered for path 'nsgenbind'`
-
-ensure the submodules are updated
-
-`git submodule update`
-
-for each submodule listed above the correct revision must be set. A
-utility target is provided in the makefile
-
-`make release-checkout`
-
-This obtains the most recent release tag for each submodule and checks
-it out, equivalent to:
-
-`cd buildsystem`
-`git checkout origin/HEAD`
-`git checkout $(git describe --abbrev=0 --match="release/*" )`
-`cd ..`
-
-once each submodule has been updated in the top level netsurf-all
-directory. The modified submodules should then be added ready for commit
-
-`git add buildsystem libcss libdom libhubbub libnsbmp libnsfb libnsgif libparserutils librosprite libsvgtiny libwapcaplet netsurf nsgenbind`
-`git commit -m 'Update for 3.1 release'`
-
-finally 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://nsgit@git.netsurf-browser.org/buildsystem.git`](ssh://nsgit@git.netsurf-browser.org/buildsystem.git)
-` * [new tag]         release/3.1 -> release/3.1`
-
-If that verifies as correct
-
-`git push --tags`
-
-and the release tag is pushed, too late now so be careful and check!
-
-Bugtracker
-----------
-
-The netsurf release version must be marked as released in mantis and the
-next development version added if its not already present
-