What to do for a release
'Developer notes for What to do for a release ' |
Note that the main use of this page will be for making a normal "minor" release. If you are making a "major" release (e.g. x.y.0) then you will need to update this page first, to change the numbers. But if you are only making an "alpha" or "beta" release, some steps may be skipped, or altered slightly.
Note also that there are additional things which need to be done, which are related to making a new release, for instance making a new release-section here on the wiki, or making a new release-section on the bug tracker, so they will need to be coordinated with the appropriate people. Probably there should be a section of this page which lists things like that.
Contents
- 1 Updated guidelines for Git
- 2 See also
- 3 External links
Updated guidelines for Git
Translation update
Run the following steps:
git checkout gramps52 git pull
- Translations stuff
cd po python3 update_po.py -p git diff gramps.pot
If there have been changes on msgid
entries, you'll need to commit gramps.pot
and ask translators to update their .po files before you can make a release.
Check current translation files (there must be no 'fatal' errors):
python3 update_po.py -k all
Release name
Refer to (and update) the list of previous releases to select an appropriate name.
Changelog and NEWS file
Look at the changelog:
git log v5.2.1..
Edit and update the NEWS
file.
Commit the NEWS file:
git commit -am "update for 5.2.1 release"
Working on VERSION
Check gramps/version.py
to indicate an official release:
gedit gramps/version.py
and if need, update the version for the release:
VERSION_TUPLE = (4, 2, 0)
Modify gramps/gen/const.py
to indicate an official release:
- VERSION += git_revision + #VERSION += git_revision
Save change:
git commit -am "make official release"
The version number should be the same on "about" dialog:
python3 Gramps.py
or
python3 Gramps.py -v
Create a tag
Create the release tag:
git tag -am "tag 5.2.1" v5.2.1
Tags should be prefixed with the letter v.
Include ChangeLog files
Section 2a of the General Public License says that if you distribute a modified version of a program: you must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
git checkout <tag> git log v5.2.1.. --pretty --numstat --summary --no-merges | git2cl > ChangeLog git log v5.2.1.. --pretty --numstat --summary --no-merges -- po/*.po | git2cl > po/ChangeLog git commit -am "Update ChangeLog files" git push
The Changelog
files generated with git2cl
.
Should be included on tarball generated by Github.
Push to repository
Push the changes to the repository:
git push origin v5.2.1
Work on tag
Move to the new release number on branch
Bump the version number in gramps/version.py
Update the version for the release:
VERSION_TUPLE = (4, 2, ...)
Revert change on gramps/gen/const.py
to indicate git revision:
- #VERSION += get_git_revision + VERSION += get_git_revision
Save change:
git commit -am "bump to <new version number>" git push
Release from tag
git checkout <tag> -b <new_branch_name>
Making the source tarball available
The source tarball is generated by github in relation with the created tag.
Github
- Automatically created when tagged
https://github.com/gramps-project/gramps/releases
Previous way for creating the official source tarball:
python3 setup.py sdist
- Edit the tag and publish the release
Announcing the new release
- announce on [email protected], [email protected] and [email protected]
- announce on Gramps blog (File under: Gramps Releases and News)
- update News section on this wiki
- update the list of previous releases
- update reference to the new version on the wiki template
- update HeadlineNews
- change the topic on the IRC channel #gramps
/TOPIC #gramps Welcome to Gramps! The latest versions are 5.2.1 and the legacy 3.4.9 || http://www.gramps-project.org/ || Please state OS and Gramps version when asking a question. Understand that replies can take up to 2 days depending on whose watching the channel. Please consider asking on the gramps-users mailing list.
- update the version number at Wikipedia
- update mantisdb(Bug/issue database) and enable the new version via Admin:Projects item for reporting issues.
Post-release
- merge forward the
NEWS
file
See also
- Brief introduction to Git
- Running a development version of Gramps
- Category:Developers/Packaging
- GrampsAIO-4 package updating - Updating the MS-Windows package
- Category:AppData - Screenshots used by Appdata - Debian