Changes

Jump to: navigation, search

What to do for a release

2,933 bytes added, 19:24, 27 July 2021
m
Announcing the new release: Added compact list of Version templates where all the Values are also visible for inspection
{{man note|Developer notes for '''What to do for a release '''}}
Note that the main use of this page will be for makinga normal "minor" release. If you are making a "major"release (e.g. x.y.0) then you will need to update thispage first, to change the numbers. But if you are onlymaking an "alpha" or "beta" release, somesteps may be skipped, or altered slightly.
Note also that [[What_to_do_for_a_release#Post-release|Post release]]there are additional things which need to be done,which are related to making a new release, for instancemaking a new release-section here on the wiki, ormaking a new release-section on the bug tracker, ormaking new Debian and Mac and Windows packages, sothey will need to be coordinated with the appropriatepeople.
==Prepare your repositoryPre-release==* Check out the current stable branch: git checkout maintenance/gramps{{Stable_branch}}:That branch name assumes that you're using the same name as the Github repository; if you're not (perhaps you don't use <code>maintenance</code> in the name) use your local name.* Make sure that your local copy is clean: git status: If you have any uncommitted changes, either commit them now or stash them until after you've completed the ===Agree a release.* Clean up any untracked files and make sure that the local repo is up to date: git clean -fdx git pull --rebase:If you had commits that hadn't been pushed yet they'll show up as "applying" messages in the output of this command. If that's the case re-run the tests and push as usual.* Build and test to make sure that everything works, then clean the repo of all build products.timetable===
===Check Co-ordinate with the About box year===[[Team#Package_Maintainers|package maintainers]] to agree a release timetable.For a major release there may be a schedule on the [[5.2_Roadmap|Roadmap]]
Check if ===Announce a feature freeze===For a major release, announce a feature freeze on the year in the {{man label|About}} box needs to be updated eg: ''© 2007gramps-2017 The Gramps Developers'' to ''© 2007-'''2018''' The Gramps Developersdevel''mailing list. Found in <code>gramps/gen/constThis will usually be about 4 weeks before the release date.py</code>
===Translation update===The translation template should be updated, if necessary, just before the string freeze is announced.
* Check for new files since the last release:
cd po
python3 update_po.py -k all
 Also see:* [[Template:Gramps_translations#INCOMPLETE_TRANSLATIONS]] - Update if any translation needs to be added or excluded due to not meeting the minimum 70% completion requirement. ===Announce a string freeze===For a major release, announce a string freeze on the ''gramps-devel'' mailing list and on Weblate.This will usually be about 2 weeks before the release date. ==Prepare your repository==* Check out the current stable branch: git checkout maintenance/gramps{{Stable_branch}}:That branch name assumes that you're using the same name as the Github repository; if you're not (perhaps you don't use <code>maintenance</code> in the name) use your local name.* Make sure that your local copy is clean: git status: If you have any uncommitted changes, either commit them now or stash them until after you've completed the release.* Clean up any untracked files and make sure that the local repo is up to date: git clean -fdx git pull --rebase:If you had commits that hadn't been pushed yet they'll show up as "applying" messages in the output of this command. If that's the case re-run the tests and push as usual.* Build and test to make sure that everything works, then clean the repo of all build products. ===Check the About box year=== Check if the year in the {{man label|About}} box needs to be updated eg: ''© 2007-2020 The Gramps Developers'' to ''© 2007-'''2021''' The Gramps Developers''. Found in <code>gramps/gen/const.py</code> ===API docs update year===If needed in the file: docs/conf.py  Update the year for the copyright.  copyright = '2001-2019, The Gramps Project' ===Update Classifier in setup.py===Change [https://pypi.python.org/pypi?%3Aaction=list_classifiers Classifier] to the appropriate one in [https://github.com/gramps-project/gramps/blob/maintenance/gramps50/setup.py setup.py] (master is well, return always the first one) <pre>Development Status :: 1 - PlanningDevelopment Status :: 2 - Pre-AlphaDevelopment Status :: 3 - AlphaDevelopment Status :: 4 - BetaDevelopment Status :: 5 - Production/Stable</pre> Check if any additional language classifier needs to be added also.  ===Update the root directory'behavior.betawarn' key value=== If the release is '''Production/Stable''' make sure that the '''behavior.betawarn''' key value has been set to '''False''' e.g., https://github.com/gramps-project/gramps/commit/9dc976f28dc16c514e9e8e0b0fa09338bfe04f8a#diff-3d9e6dc03ea37a4b7f7975db17f16509 Found in gramps/gen/config.py cd and gramps/gui/grampsgui.py  Please note that in Gramps master this key is always '''True'''See also {{bug|11274}}
==Release name==
Refer to (and update) the [[Previous releases of Gramps|list of previous releases]].  Previously you needed to select an appropriate name but we have not named releases for several years now. You willstill need to add the release though, including things like itsrelevant color. * [[Talk:Previous_releases_of_Gramps|Suggestions]] : For Gramps 5.0 <code>Just remember that you're standing on a planet that's evolving</code>
==Changelog and NEWS file==
* If everything looks good, push the changes:
git push origin maintenance/gramps{{Stable_branch}}
* If that fails then someone pushed a commit while you were working. Return to [https://gramps-project.org/wiki/index.php?title=[What_to_do_for_a_release#Prepare_your_repository |Prepare your repository]] and start over.
==Create a tag==
* Click on '''Stable''' or '''Unstable''' depending on the class of the release you're making.
* Click '''Add Folder''' and name the directory for the release version. Click "'Create'". Click your new folder to enter it.
* You can either download the GithubGitHub-generated tarball or create one localllylocally:
python3 setup.py sdist
* Click '''Add File''' and drag the tarball to the drop area on the web page.
* update mantisdb(Bug/issue database) and enable the new version via Admin:Projects item for reporting issues. (You will need a high-enough status on the bug tracker in order to do this, so you can ask an appropriate person if you aren't.)
* announce on [email protected], [email protected] and [email protected] (You will need to be a member of all three lists first, to send to them.)
* announce on the Discourse forum in the "[https://gramps.discourse.group/c/gramps-announce Announcements]" category.* announce on Gramps [https://gramps-project.org/introduction-WPblog/blog/ blog] (File under: [https://gramps-project.org/introduction-WPblog/category/releases/ Gramps Releases] and [https://gramps-project.org/introduction-WPblog/category/news/ News]) (not needed for an alpha or beta release)
* update [[News]] section on this wiki (not needed for an alpha or beta release)
* update the list of [[Previous releases of Gramps|previous releases]]
* update reference to the new version on the [[Template:Version|wiki template]] (not needed for an alpha or beta release)
* Verify other [[:Category:Versions|"version" Wiki templates]] values: Last version, Stable version, etc.
* update [[HeadlineNews]] (not needed for an alpha or beta release)
* update release date on the [[Download]] page (not needed for an alpha or beta release)
* change the topic on the Matrix room title and IRC channel #gramps title (not needed for an alpha or beta release)<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 [httphttps://en.wikipedia.org/wiki/Gramps Gramps_(software) Wikipedia] (not needed for an alpha or beta release)
==Post-release==
=See also=
*Building a distribution to share as on the [[Download]] page
:[[File:Windows_32x32.png]] [[Building Gramps AIO cx freeze-based]] - Updating the MS-Windows 32-bit and 64-bit All-In-One packages
<!--
:[[File:Linux 32x32.png]] please add link to instructions on building Gramps installers for Linux. proofed while building v5.1.3
:[[File:Beastie 32x32.png]] please add link to instructions on building Gramps installer for BSD. proofed while building v5.1.3
:[[File:Apple logo black 32x32.png]] please add link to instructions on building Gramps installer for Apple. proofed while building v5.1.3
-->
* [[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
* [[.dtd and .rng]]
* [[Rollover_for_the_manual|Rollover for the Wiki]] - for major and minor releases. No rollover for maintenance releases.
* [[Special:WhatLinksHere/Template:Bug|List of pages linked to Bug Report template]] - verify the reported issues still apply to the new release. Leave links in place for any issue fixed in maintenance releases. Simply add notations for the version where the fix was applied. Remove links for fixed issues in Rollovers.
=External links=
* https://github.com/gramps-project
* httphttps://gramps-project.org/cpanel* httphttps://sourceforge.net/projects/gramps/
[[Category:Developers/General]]
4,529
edits

Navigation menu