Difference between revisions of "What to do for a release"

From Gramps
Jump to: navigation, search
(Translation update)
m (Making the source tarball available)
(49 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''What to do for a release '''
+
{{man note|Developer notes for '''What to do for a release '''}}
 
=Updated guidelines for Git =
 
=Updated guidelines for Git =
  
Line 6: Line 6:
 
  git checkout gramps{{Stable_branch}}
 
  git checkout gramps{{Stable_branch}}
 
  git pull
 
  git pull
See [[Translation_environment4|New environment]] and [[Talk:Translation_environment4|differences between tools]]
 
 
  cd po
 
  cd po
  ./genpot.sh # or python update_po.py -p   
+
 
 +
* Translations stuff
 +
  python3 update_po.py -p   
 
  git diff gramps.pot
 
  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.
 +
 +
For checking current translation files:
 +
  python3 update_po.py -k all
  
 
==Release name==
 
==Release name==
Line 16: Line 20:
  
 
==Changelog and NEWS file==
 
==Changelog and NEWS file==
Create the changelog files:
+
Look at the changelog:
  git log gramps-{{version}}.. --pretty --numstat --summary --no-merges | git2cl > ChangeLog
+
  git log v{{version}}..
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.
+
Edit and update the <tt>NEWS</tt> file.
 
Commit the NEWS file:
 
Commit the NEWS file:
 
  git commit -am "update for {{version}} release"
 
  git commit -am "update for {{version}} release"
Line 26: Line 29:
 
==Working on VERSION==
 
==Working on VERSION==
  
* 4.0.x
+
Check <tt>[https://github.com/gramps-project/gramps/blob/master/gramps/version.py gramps/version.py]</tt> to indicate an official release:
 
 
Check <tt>gramps/version.py</tt> to indicate an official release:
 
 
  gedit gramps/version.py  
 
  gedit gramps/version.py  
  
 
and if need, update the version for the release:
 
and if need, update the version for the release:
  VERSION_TUPLE = (4, 0, 2)
+
  VERSION_TUPLE = (4, 2, 0)
  
Modify <tt>gramps/gen/const.py</tt> to indicate an official release:
+
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 += get_git_revision(ROOT_DIR)
+
  - VERSION += git_revision
  + VERSION += "-1"
+
  + #VERSION += git_revision
  
 
Save change:
 
Save change:
 +
git add .
 
  git commit -am "make official release"
 
  git commit -am "make official release"
  
 
The version number should be the same on "about" dialog:
 
The version number should be the same on "about" dialog:
  python Gramps.py
+
  python3 Gramps.py
 
or
 
or
  python Gramps.py -v
+
  python3 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 a tag==
 
Create the release tag:
 
Create the release tag:
  git tag -am "tag {{version}}" gramps-{{version}}
+
  git tag -am "tag {{version}}" v{{version}}
 +
 
 +
Tags should be prefixed with the letter v.
  
 
==Push to repository==
 
==Push to repository==
 
Push the changes to the repository:
 
Push the changes to the repository:
  git push origin gramps-{{version}}
+
  git push origin v{{version}}
  
 
==Work on tag ==
 
==Work on tag ==
  
 
===Move to the new release number on branch ===
 
===Move to the new release number on branch ===
 
* 4.0.x
 
  
 
Bump the version number in <tt>gramps/version.py</tt>
 
Bump the version number in <tt>gramps/version.py</tt>
Line 83: Line 68:
  
 
Revert change on <tt>gramps/gen/const.py</tt> to indicate git revision:
 
Revert change on <tt>gramps/gen/const.py</tt> to indicate git revision:
  - VERSION += "-1"
+
  - #VERSION += get_git_revision
  + VERSION += get_git_revision(ROOT_DIR)
+
  + VERSION += get_git_revision
 
 
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:
 
Save change:
Line 102: Line 79:
 
  git checkout <tag> -b <new_branch_name>
 
  git checkout <tag> -b <new_branch_name>
  
* Gramps-4.0.x
+
git log v{{version}}.. --pretty --numstat --summary --no-merges | git2cl > ChangeLog
 +
git log v{{version}}.. --pretty --numstat --summary --no-merges -- po/*.po | git2cl > po/ChangeLog
 +
 
 +
Using the <tt>Changelog</tt> files generated with <tt>git2cl</tt>,
  
 
Modify <tt>MANIFEST.in</tt>
 
Modify <tt>MANIFEST.in</tt>
Line 110: Line 90:
 
Create the official source tarball:
 
Create the official source tarball:
  
  python setup.py sdist
+
  python3 setup.py sdist
 +
 
 +
==Making the source tarball available==
  
* Gramps-3.4
+
Create the <code>readme.rst</code> file containing the changes since the previous release.
  
Build, check and create the official source tarball:
+
===Github===
 +
* Automatically created when tagged
  
./autogen.sh
+
https://github.com/gramps-project/gramps/releases
make distcheck
 
  
==Making the source tarball available==
+
===Sourceforge===
 
* 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:
 
or via your ''<dev>'' account:
Line 125: Line 107:
 
  Connecting to frs.sourceforge.net...
 
  Connecting to frs.sourceforge.net...
 
  Password:
 
  Password:
  sftp> cd /home/frs/project/gramps
+
  sftp> cd /home/frs/project/gramps/Stable
 
* create a new folder in the "Stable" hierarchy
 
* create a new folder in the "Stable" hierarchy
* upload the <tt>gramps-{{version}}.tar.gz</tt> file to the new folder
+
* put the <tt>readme.rst</tt> <tt>gramps-{{version}}.tar.gz</tt> files to the new folder
  
 
==Announcing the new release==
 
==Announcing the new release==
  
 +
* announce on Gramps blog
 
* update [[News]] section on this wiki
 
* update [[News]] section on this wiki
 
* update the list of [[Previous releases of Gramps|previous releases]]
 
* update the list of [[Previous releases of Gramps|previous releases]]
Line 136: Line 119:
 
* update [[HeadlineNews]]
 
* update [[HeadlineNews]]
 
* change the topic on the IRC channel #gramps
 
* 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>
+
<code> /TOPIC #gramps Welcome to Gramps! The latest versions are {{version}} 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]
 
* update the version number at [http://en.wikipedia.org/wiki/Gramps Wikipedia]
 +
* update mantisdb(Bug/issue database) and enable the new version via Admin:Projects item for reporting issues.
  
 
==Post-release==
 
==Post-release==
Line 146: Line 130:
 
* [[Running a development version of Gramps]]
 
* [[Running a development version of Gramps]]
 
* [[:Category:Developers/Packaging]]
 
* [[:Category:Developers/Packaging]]
 +
* [[GrampsAIO-4 package updating]] - Updating the MS-Windows package
 +
* [[:Category:AppData]] - Screenshots used by Appdata - Debian
  
 
=External links=
 
=External links=

Revision as of 12:54, 5 September 2016

Gramps-notes.png
'Developer notes for What to do for a release '

Updated guidelines for Git

Translation update

Run the following steps:

git checkout gramps52
git pull
cd po
  • Translations stuff
python3 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.

For checking current translation files:

 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 add .
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.

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, 0, ...)

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>
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

Using the Changelog files generated with git2cl,

Modify MANIFEST.in

+ include ChangeLog
+ include po/ChangeLog

Create the official source tarball:

python3 setup.py sdist

Making the source tarball available

Create the readme.rst file containing the changes since the previous release.

Github

  • Automatically created when tagged

https://github.com/gramps-project/gramps/releases

Sourceforge

or via your <dev> account:

$ sftp <dev>@frs.sourceforge.net
Connecting to frs.sourceforge.net...
Password:
sftp> cd /home/frs/project/gramps/Stable
  • create a new folder in the "Stable" hierarchy
  • put the readme.rst gramps-5.2.1.tar.gz files to the new folder

Announcing the new release

/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

External links