Difference between revisions of "What to do for a release"
m (→Post-release) |
(→Release from tag) |
||
(115 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | '''What to do for a release''' | + | '''What to do for a release ''' |
− | + | =Updated guidelines for Git = | |
− | |||
==Translation update== | ==Translation update== | ||
Run the following steps: | Run the following steps: | ||
− | + | git checkout gramps{{Stable_branch}} | |
− | + | git pull | |
cd po | cd po | ||
− | + | For Gramps 3.4 and earlier use: | |
− | + | ./genpot.sh | |
+ | For Gramps 4.x use (See [[Translation_environment4|New environment]] and [[Talk:Translation_environment4|differences between tools]]. See [https://github.com/gramps-project/gramps/blob/master/po/update_po.py po/update_po.py] to generate a new template/catalog (gramps.pot).) | ||
+ | python update_po.py -p | ||
+ | git diff gramps.pot | ||
If there have been changes, you'll need to commit <tt>gramps.pot</tt> and ask translators to update their <tt>.po</tt> files before you can make a release. | If there have been changes, you'll need to commit <tt>gramps.pot</tt> and ask translators to update their <tt>.po</tt> files before you can make a release. | ||
==Release name== | ==Release name== | ||
− | Refer to (and update) the [[Previous releases|list of previous releases]] to select an appropriate name. | + | Refer to (and update) the [[Previous releases of Gramps|list of previous releases]] to select an appropriate name. |
==Changelog and NEWS file== | ==Changelog and NEWS file== | ||
Create the changelog files: | Create the changelog files: | ||
− | + | git log gramps-{{version}}.. --pretty --numstat --summary --no-merges | git2cl > ChangeLog | |
− | + | git log gramps-{{version}}.. --pretty --numstat --summary --no-merges -- po/*.po | git2cl > po/ChangeLog | |
− | + | ||
− | + | Using the <tt>Changelog</tt> files generated with <tt>git2cl</tt> in the step above, edit and update the <tt>NEWS</tt> file. | |
+ | Commit the NEWS file: | ||
+ | git commit -am "update for {{version}} release" | ||
+ | |||
+ | ==Working on VERSION== | ||
+ | |||
+ | ===Gramps 4.2.x=== | ||
+ | * 4.2.x | ||
+ | |||
+ | Check <tt>[https://github.com/gramps-project/gramps/blob/master/gramps/version.py gramps/version.py]</tt> to indicate an official release: | ||
+ | gedit gramps/version.py | ||
+ | |||
+ | and if need, update the version for the release: | ||
+ | VERSION_TUPLE = (4, 2, 0) | ||
+ | |||
+ | Modify <tt>[https://github.com/gramps-project/gramps/blob/master/gramps/gen/const.py#L132 gramps/gen/const.py]</tt> to indicate an official release: | ||
+ | - VERSION += git_revision | ||
+ | + VERSION += "-1" | ||
− | + | Save change: | |
− | + | git add . | |
− | + | git commit -am "make official release" | |
− | |||
− | + | The version number should be the same on "about" dialog: | |
− | + | python Gramps.py | |
− | + | or | |
− | + | python Gramps.py -v | |
− | == | + | ===Gramps 3.4.x=== |
− | + | * 3.4.x | |
− | |||
− | |||
− | |||
Modify <tt>configure.in</tt> to indicate an official release: | Modify <tt>configure.in</tt> to indicate an official release: | ||
Line 42: | Line 57: | ||
There are two changes to make: | There are two changes to make: | ||
:1) Change the following line: | :1) Change the following line: | ||
− | -RELEASE=0.SVN$( | + | -RELEASE=0.SVN$(git log -1 --format=%h .) |
− | +dnl RELEASE=0.SVN$( | + | +dnl RELEASE=0.SVN$(git log -1 --format=%h .) |
:2) And change this line: | :2) And change this line: | ||
-dnl RELEASE=1 | -dnl RELEASE=1 | ||
+RELEASE=1 | +RELEASE=1 | ||
Save these two changes. | Save these two changes. | ||
− | + | git commit -am "make official release" configure.in | |
Now run the following and check the version number in the "about" dialog: | Now run the following and check the version number in the "about" dialog: | ||
./autogen.sh | ./autogen.sh | ||
− | |||
python src/gramps.py | python src/gramps.py | ||
− | == | + | ==Create a tag== |
− | + | Create the release tag: | |
− | + | git tag -am "tag {{version}}" gramps-{{version}} | |
− | + | ||
− | + | ==Push to repository== | |
− | + | Push the changes to the repository: | |
+ | git push origin gramps-{{version}} | ||
+ | |||
+ | ==Work on tag == | ||
+ | |||
+ | ===Move to the new release number on branch === | ||
+ | ====Gramps 4.2.x==== | ||
+ | * 4.0.x | ||
+ | |||
+ | Bump the version number in <tt>gramps/version.py</tt> | ||
+ | |||
+ | Update the version for the release: | ||
+ | VERSION_TUPLE = (4, 0, ...) | ||
+ | |||
+ | Revert change on <tt>gramps/gen/const.py</tt> to indicate git revision: | ||
+ | - VERSION += "-1" | ||
+ | + VERSION += get_git_revision(ROOT_DIR) | ||
+ | |||
+ | Save change: | ||
+ | git commit -am "bump to <new version number>" | ||
+ | git push | ||
+ | |||
+ | ====Gramps 3.4.x==== | ||
+ | * 3.4.x | ||
+ | |||
+ | Bump the version number in <tt>configure.in</tt> and <tt>src/const.py.in</tt> | ||
+ | |||
+ | Save change: | ||
+ | git commit -am "bump to <new version number>" | ||
+ | git push | ||
+ | |||
+ | ===Release from tag=== | ||
+ | |||
+ | git checkout <tag> -b <new_branch_name> | ||
+ | |||
+ | ====Gramps 4.2.x==== | ||
+ | * Gramps-4.0.x | ||
+ | |||
+ | Modify <tt>MANIFEST.in</tt> | ||
+ | + include ChangeLog | ||
+ | + include po/ChangeLog | ||
+ | |||
Create the official source tarball: | Create the official source tarball: | ||
+ | |||
+ | python setup.py sdist | ||
+ | |||
+ | ====Gramps 3.4.x==== | ||
+ | * Gramps-3.4 | ||
+ | |||
+ | Build, check and create the official source tarball: | ||
+ | |||
+ | ./autogen.sh | ||
make distcheck | make distcheck | ||
− | |||
− | |||
==Making the source tarball available== | ==Making the source tarball available== | ||
* access the "Sourceforge Project Admin->File Manager" page at https://sourceforge.net/projects/gramps/ | * access the "Sourceforge Project Admin->File Manager" page at https://sourceforge.net/projects/gramps/ | ||
+ | or via your ''<dev>'' account: | ||
+ | $ sftp <dev>@frs.sourceforge.net | ||
+ | Connecting to frs.sourceforge.net... | ||
+ | Password: | ||
+ | sftp> cd /home/frs/project/gramps | ||
* create a new folder in the "Stable" hierarchy | * create a new folder in the "Stable" hierarchy | ||
− | * upload the <tt>gramps- | + | * upload the <tt>gramps-{{version}}.tar.gz</tt> file to the new folder |
==Announcing the new release== | ==Announcing the new release== | ||
* update [[News]] section on this wiki | * update [[News]] section on this wiki | ||
− | * update the list of [[previous releases]] | + | * update the list of [[Previous releases of Gramps|previous releases]] |
* update reference to the new version on the [[Template:Version|wiki template]] | * update reference to the new version on the [[Template:Version|wiki template]] | ||
+ | * update [[HeadlineNews]] | ||
* change the topic on the IRC channel #gramps | * change the topic on the IRC channel #gramps | ||
− | * update the version number at [http://en.wikipedia.org/wiki/ | + | <code> /TOPIC #gramps Welcome to Gramps! The latest versions are 4.2.0 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. </code> |
+ | * update the version number at [http://en.wikipedia.org/wiki/Gramps Wikipedia] | ||
==Post-release== | ==Post-release== | ||
− | * | + | * merge forward the <tt>NEWS</tt> file |
− | |||
− | + | =See also= | |
− | * [[Brief introduction to | + | * [[Git|Brief introduction to Git]] |
* [[Running a development version of Gramps]] | * [[Running a development version of Gramps]] | ||
* [[:Category:Developers/Packaging]] | * [[:Category:Developers/Packaging]] | ||
− | + | =External links= | |
− | * | + | * https://github.com/gramps-project |
* http://gramps-project.org/cpanel | * http://gramps-project.org/cpanel | ||
+ | * http://svn.code.sf.net/p/gramps/code/ | ||
* http://sourceforge.net/projects/gramps/ | * http://sourceforge.net/projects/gramps/ | ||
[[Category:Developers/General]] | [[Category:Developers/General]] |
Revision as of 03:34, 4 October 2015
What to do for a release
Contents
Updated guidelines for Git
Translation update
Run the following steps:
git checkout gramps52 git pull cd po
For Gramps 3.4 and earlier use:
./genpot.sh
For Gramps 4.x use (See New environment and differences between tools. See po/update_po.py to generate a new template/catalog (gramps.pot).)
python update_po.py -p git diff gramps.pot
If there have been changes, you'll need to commit gramps.pot and ask translators to update their .po files before you can make a release.
Release name
Refer to (and update) the list of previous releases to select an appropriate name.
Changelog and NEWS file
Create the changelog files:
git log gramps-5.2.2.. --pretty --numstat --summary --no-merges | git2cl > ChangeLog git log gramps-5.2.2.. --pretty --numstat --summary --no-merges -- po/*.po | git2cl > po/ChangeLog
Using the Changelog files generated with git2cl in the step above, edit and update the NEWS file. Commit the NEWS file:
git commit -am "update for 5.2.2 release"
Working on VERSION
Gramps 4.2.x
- 4.2.x
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 += "-1"
Save change:
git add . git commit -am "make official release"
The version number should be the same on "about" dialog:
python Gramps.py
or
python Gramps.py -v
Gramps 3.4.x
- 3.4.x
Modify configure.in to indicate an official release:
gedit configure.in
There are two changes to make:
- 1) Change the following line:
-RELEASE=0.SVN$(git log -1 --format=%h .) +dnl RELEASE=0.SVN$(git log -1 --format=%h .)
- 2) And change this line:
-dnl RELEASE=1 +RELEASE=1
Save these two changes.
git commit -am "make official release" configure.in
Now run the following and check the version number in the "about" dialog:
./autogen.sh python src/gramps.py
Create a tag
Create the release tag:
git tag -am "tag 5.2.2" gramps-5.2.2
Push to repository
Push the changes to the repository:
git push origin gramps-5.2.2
Work on tag
Move to the new release number on branch
Gramps 4.2.x
- 4.0.x
Bump the version number in gramps/version.py
Update the version for the release:
VERSION_TUPLE = (4, 0, ...)
Revert change on gramps/gen/const.py to indicate git revision:
- VERSION += "-1" + VERSION += get_git_revision(ROOT_DIR)
Save change:
git commit -am "bump to <new version number>" git push
Gramps 3.4.x
- 3.4.x
Bump the version number in configure.in and src/const.py.in
Save change:
git commit -am "bump to <new version number>" git push
Release from tag
git checkout <tag> -b <new_branch_name>
Gramps 4.2.x
- Gramps-4.0.x
Modify MANIFEST.in
+ include ChangeLog + include po/ChangeLog
Create the official source tarball:
python setup.py sdist
Gramps 3.4.x
- Gramps-3.4
Build, check and create the official source tarball:
./autogen.sh make distcheck
Making the source tarball available
- access the "Sourceforge Project Admin->File Manager" page at https://sourceforge.net/projects/gramps/
or via your <dev> account:
$ sftp <dev>@frs.sourceforge.net Connecting to frs.sourceforge.net... Password: sftp> cd /home/frs/project/gramps
- create a new folder in the "Stable" hierarchy
- upload the gramps-5.2.2.tar.gz file to the new folder
Announcing the new release
- announce on [email protected], [email protected] and [email protected]
- 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 4.2.0 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
Post-release
- merge forward the NEWS file