blob: 70e3d4389e873bc90907f48d74ee5845b574605d (
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
|
[[!meta title="Releasing Core Buildsystem Components"]]
[[!meta author="VincentSanders"]]
[[!meta date="2020-05-23T10:15:07Z"]]
# Release process 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.
Counting objects: 1, done.
Writing objects: 100% (1/1), 800 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To ssh://nsgit@git.netsurf-browser.org/libutf8proc.git
* [new tag] release/1.3.1-3 -> release/1.3.1-3
If that verifies as correct
git push --tags
git push
and the release tag is pushed, too late now so be careful and check!
|