User Tools

Site Tools


wiki:development:release-howto

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:development:release-howto [2015/02/24 19:25]
ionic More version updating.
wiki:development:release-howto [2022/08/29 23:29] (current)
ionic Add disclaimer that is not a complete list.
Line 4: Line 4:
  
 The prerequisite for these steps is to login to japsand as ''x2go-admin''. The prerequisite for these steps is to login to japsand as ''x2go-admin''.
 +
 +This list is not complete. It's meant as a general checklist. Some packages require additional steps not mentioned here, but these are common ones that should fit most components.
  
 ^ Variable ^ Meaning ^ ^ Variable ^ Meaning ^
Line 15: Line 17:
 |  2  | <code bash>git clone ...</code> | Clone repository on japsand, if it doesn't already exist. | |  2  | <code bash>git clone ...</code> | Clone repository on japsand, if it doesn't already exist. |
 |  3  | <code bash>cd <component></code> | | |  3  | <code bash>cd <component></code> | |
-|  4  | <code bash>git checkout master</code> | Only necessary, if you're not already on the ''master'' branch. Check via ''git status''. |+|  4  | <code bash>git checkout master</code> | Only necessary, if you're not already on the ''master'' branch. Check via ''git status''. Some X2Go components use different branches, which will have to merged back into the master branch. |
 |  5  | <code bash>git pull --rebase</code> | Always make sure the repository is up-to-date. | |  5  | <code bash>git pull --rebase</code> | Always make sure the repository is up-to-date. |
-|  6  | <code bash>dch -r</code> | Make sure to explicitly use '':w'' in vim to save the text. Otherwise, i.e., via '':x'', your change will not be recorded! | +|  6  | ? | Some packages, like X2GoClient, require further steps to synchronize metadata files, such as ''debian/control''. Carefully look through the branches and follow any documentation provided. | 
-|   | <code bash>git diff</code> | Make sure the output is exactly what you expect! | +|  7  | Replace/update copyright information (dates) in source files | This step mostly involves grepping for dates, filtering the output and manually updating the files in question. There is no surefire automatic way to do this. | 
-|   | <code bash>git commit -am 'release <ver>'</code> | | +|  8  | <code bash>dch -r</code> | Make sure to explicitly use '':w'' in vim to save the text. Otherwise, i.e., when quitting via '':x'', your change will not be recorded! | 
-|   | <code bash>git push</code> | | +|   | <code bash>git diff</code> | Make sure the output is exactly what you expect! | 
-|  10  | <code bash>git tag -s '<ver>' -m 'Upstream version <ver>'</code> | Run this **on your own machine** in your **checked-out, updated** copy (see steps 2 to 5.) Make sure your ''gnupg'' system is set up correctly and you have default key set. | +|  10  | Remove bug spam for all bug reports closed in this release | This process is complicated and must be done on **ymir** (packages.x2go.org) as the **debbugs** user, which requires root access. This is ''not'' all required information. | 
-|  11  | <code bash>git push --tags</code> | Run this **on your own machine** to push the new tag. | +| ::: | <code>cd /var/lib/debbugs/spool/db-h</code> | Switch to the database directory. | 
-|  12  | <code bash>tarballrelease <ver> <ver></code> | Back on **japsand** | +| ::: | <code>cp -av XX/bugnumberXX.log{,.bak}</code> | Create backup of original log. The log file contains all messages that have been sent and received during the bug's life cycle, including status changes. | 
-|  13  | <code bash>x2go-signtarballs</code> | Automatically signs and checksums tarballs, dmg files etc. No manual work required. | +| ::: | ::: | The directory containing the bug report log is always named after the last two digits (0-padded, if necessary) of the bug report number. | 
-|  14  | <code bash>unison X2Go-Releases.prf</code> | Sync the current tarball directory in ''~/release-manager'' automatically with ymir (packages.x2go.org) | +|  11  | <code>/usr/lib/debbugs/cleanbug bugnumber</code> | This tool will interactively list all messages (including status changes) in the report and asks whether to keep or discard them. | 
-|  15  | Check Jenkins | Log in to https://jenkins.x2go.org:8443/ with your ''japsand'' username and password. Switch to the ''All Releases'' tab in the main window. Search for the component to be released and the release branch (mostly ''main''.) Click on that build job. On the left hand side of the updated page, click on ''Configure''. Scroll down to the ''Build'' section. Check the jobs in ''Execute Shell'' statements. Make sure that all relevant distros and releases are covered, but exclude those not appropriate for the component or those known to fail. One failed subtask will ABORT all the other tasks. | +| ::: | ::: | Messages are often contained at least twice, since they are received initially and then resent to the bug owner and maintainers, so most spam messages must be discarded multiple times. | 
-|  16  | <code bash>updatebuildmain</code> | Automatically update ''build-main'' branch. | +| ::: | ::: | This also includes some status messages, which must be likewise discarded to create illogical logs. | 
-|  17  | <code bash>x2go-release-announcements [<first> [<last>]]</code> | Previous release announcements can be seen via setting first and last ''> 0''. Set first to ''0'' to get the current one. Copy the text into a new mail, cut and paste the first line into the mail subject. Change appropriately. Summarize the changes. Credit and thank individual people (especially translators.) GPG-Sign and send this mail to <x2go-announcements@lists.x2go.org>. | +| ::: | ::: | Once the whole log is processed, a safety message requires to either write ''YES'' or ''NO'' to write the changes back to the log file. | 
-|  18   | <code>increment version in: .spec, VERSION</code> | Make sure to increment the UPSTREAM version number. Revert what ''dhc -i'' did (it probably incremented the number behind ''x2go''.) Add a descriptive message like ''Continue development.'' |+|  12  | <code bash>git commit -am 'release <ver>'</code> | | 
 +|  13  | <code bash>git push</code> | | 
 +|  14  | <code bash>git tag -s '<ver>' -m 'Upstream version <ver>'</code> | Run this **on your own machine** in your **checked-out, updated** copy (see steps 2 to 5.) Make sure your ''gnupg'' system is set up correctly and you have default key set. | 
 +|  15  | <code bash>git push --tags</code> | Run this **on your own machine** to push the new tag. | 
 +|  16  | <code bash>tarballrelease <ver> <ver></code> | Back on **japsand** | 
 +|  17  | <code bash>x2go-signtarballs</code> | Automatically signs and checksums tarballs, dmg files etc. No manual work required. | 
 +|  18  | <code bash>unison X2Go-Releases.prf</code> | Sync the current tarball directory in ''~/release-manager'' automatically with ymir (packages.x2go.org) | 
 +|  19  | Check Jenkins | Log in to https://jenkins.x2go.org:8443/ with your ''japsand'' username and password. Switch to the ''All Releases'' tab in the main window. Search for the component to be released and the release branch (mostly ''main''.) Click on that build job. On the left hand side of the updated page, click on ''Configure''. Scroll down to the ''Build'' section. Check the jobs in ''Execute Shell'' statements. Make sure that all relevant distros and releases are covered, but exclude those not appropriate for the component or those known to fail. One failed subtask will ABORT all the other tasks. | 
 +|  20  | <code bash>updatebuildmain</code> | Automatically update ''build-main'' branch. | 
 +|  21  | <code bash>x2go-release-announcements [<first> [<last>]]</code> | Previous release announcements can be seen via setting first and last ''> 0''. Set first to ''0'' to get the current one. Copy the text into a new mail, cut and paste the first line into the mail subject. Change appropriately. Summarize the changes. Credit and thank individual people (especially translators.) GPG-Sign and send this mail to <x2go-announcements@lists.x2go.org>. | 
 +|  22   | <code>increment version in: .spec, VERSION</code> | Make sure to increment the UPSTREAM version number. Revert what ''dhc -i'' did (it probably incremented the number behind ''x2go''.) Add a descriptive message like ''Continue development.'' |
 |  :::  | <code bash>git log --oneline | grep -i 'continue develop'</code> | Check the last post-release commit for any other files that might include the version and need to be updated! | |  :::  | <code bash>git log --oneline | grep -i 'continue develop'</code> | Check the last post-release commit for any other files that might include the version and need to be updated! |
 |  :::  | <code bash>dch -i</code> |  :::  | |  :::  | <code bash>dch -i</code> |  :::  |
-|  19   | <code bash>debcommit -a</code> | Commits the changes. |+|  23   | <code bash>debcommit -a</code> | Commits the changes. |
wiki/development/release-howto.1424805959.txt.gz · Last modified: 2015/02/24 19:25 by ionic