Difference between revisions of "What to do for a release"
m (→Making the candidate build available: changed name so the builds are in the correct alphabetical order) |
m (→Changelog and NEWS file) |
||
(131 intermediate revisions by 8 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== | |
+ | Run the following steps: | ||
+ | git checkout gramps{{Stable_branch}} | ||
+ | git pull | ||
+ | cd po | ||
+ | ./genpot.sh # or python update_po.py -p see [[Translation_environment4|New environment]] and [[Talk:Translation_environment4|differences between tools]] | ||
+ | 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. | ||
+ | |||
+ | ==Release name== | ||
+ | Refer to (and update) the [[Previous releases of Gramps|list of previous releases]] to select an appropriate name. | ||
+ | |||
+ | ==Changelog and NEWS file== | ||
+ | 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== | ||
+ | |||
+ | * 4.0.x | ||
+ | |||
+ | Check <tt>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, 0, 2) | ||
+ | |||
+ | Modify <tt>gramps/gen/const.py</tt> to indicate an official release: | ||
+ | - VERSION += get_git_revision(ROOT_DIR) | ||
+ | + VERSION += "-1" | ||
+ | |||
+ | Save change: | ||
+ | git commit -am "make official release" | ||
+ | |||
+ | The version number should be the same on "about" dialog: | ||
+ | python Gramps.py | ||
+ | or | ||
+ | python Gramps.py -v | ||
+ | |||
+ | * 3.4.x | ||
+ | |||
+ | Modify <tt>configure.in</tt> 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 {{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 === | |
− | + | ||
− | + | * 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 | ||
+ | |||
+ | * 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.0.x | ||
+ | |||
+ | Modify <tt>MANIFEST.in</tt> | ||
+ | + include ChangeLog | ||
+ | + include po/ChangeLog | ||
+ | |||
+ | Create the official source tarball: | ||
− | + | python setup.py sdist | |
− | * | + | * Gramps-3.4 |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Build, check and create the official source tarball: | |
− | + | ./autogen.sh | |
− | + | make distcheck | |
− | |||
− | |||
− | ==Making the | + | ==Making the source tarball available== |
− | + | * access the "Sourceforge Project Admin->File Manager" page at https://sourceforge.net/projects/gramps/ | |
− | + | or via your ''<dev>'' account: | |
− | * access the Sourceforge " | + | $ 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 <tt>gramps-{{version}}.tar.gz</tt> file to the new folder | |
− | |||
− | == | + | ==Announcing the new release== |
− | + | ||
− | * update | + | * update [[News]] section on this wiki |
− | * update reference to the new version on the [[ | + | * update the list of [[Previous releases of Gramps|previous releases]] |
+ | * update reference to the new version on the [[Template:Version|wiki template]] | ||
+ | * update [[HeadlineNews]] | ||
+ | * change the topic on the IRC channel #gramps | ||
+ | <pre> /TOPIC #gramps Welcome to Gramps! The latest versions are 4.1.0 and the legacy 3.4.8 || 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. </pre> | ||
+ | * update the version number at [http://en.wikipedia.org/wiki/Gramps Wikipedia] | ||
− | == | + | ==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]] | ||
− | + | =External links= | |
− | * http:// | + | * http://svn.code.sf.net/p/gramps/code/ |
* http://gramps-project.org/cpanel | * http://gramps-project.org/cpanel | ||
* http://sourceforge.net/projects/gramps/ | * http://sourceforge.net/projects/gramps/ | ||
[[Category:Developers/General]] | [[Category:Developers/General]] |
Revision as of 16:08, 27 February 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 ./genpot.sh # or python update_po.py -p see New environment and differences between tools 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
- 4.0.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, 0, 2)
Modify gramps/gen/const.py to indicate an official release:
- VERSION += get_git_revision(ROOT_DIR) + VERSION += "-1"
Save change:
git commit -am "make official release"
The version number should be the same on "about" dialog:
python Gramps.py
or
python Gramps.py -v
- 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
- 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
- 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.0.x
Modify MANIFEST.in
+ include ChangeLog + include po/ChangeLog
Create the official source tarball:
python setup.py sdist
- 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.1.0 and the legacy 3.4.8 || 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