summaryrefslogtreecommitdiff
path: root/release/netsurfbuildsystem.mdwn
blob: ba808588af5d30183ff15cf440915f299d58af58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
[[!meta title="Releasing NetSurf"]]
[[!meta author="VincentSanders"]]
[[!meta date="2020-05-23T10:40:07Z"]]

# 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

        resources/FatMessages

- 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

        frontends/amiga/pkg/netsurf.readme
        frontends/amiga/pkg/netsurf\_os3.readme
    
- windows frontend installer

        windows/res/installer.nsi

Ensure the ca-bundle is updated

    https://curl.haxx.se/docs/caextract.html

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://nsgit@git.netsurf-browser.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

Then edit `desktop/version.c` , `frontends/amiga/version.c` and `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.