diff options
author | Vincent Sanders <vince@kyllikki.org> | 2020-05-23 10:41:52 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2020-05-23 10:41:52 +0100 |
commit | ad2d55e5dcdc45785c6584bb52adab52aa0355eb (patch) | |
tree | 694c55df0ce595a2a70fbe570a7ddcd9fba502f8 /release/corebuildsystem.mdwn | |
parent | e7dee4b65c4814fac5d6a0a0ccf7358360e1991b (diff) | |
download | netsurf-wiki-ad2d55e5dcdc45785c6584bb52adab52aa0355eb.tar.gz netsurf-wiki-ad2d55e5dcdc45785c6584bb52adab52aa0355eb.tar.bz2 |
update release process notes
Diffstat (limited to 'release/corebuildsystem.mdwn')
-rw-r--r-- | release/corebuildsystem.mdwn | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/release/corebuildsystem.mdwn b/release/corebuildsystem.mdwn new file mode 100644 index 0000000..5d54ed0 --- /dev/null +++ b/release/corebuildsystem.mdwn @@ -0,0 +1,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! |