User Tools

Site Tools


wiki:development:release-howto

HowTo Release X2Go Components

General Steps

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
<ver> New version of the to-be-released component.
<component> Git name of the to-be-released component.
No Command Tips / Comment
1
cd release-manager
2
git clone ...
Clone repository on japsand, if it doesn't already exist.
3
cd <component>
4
git checkout master
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
git pull --rebase
Always make sure the repository is up-to-date.
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.
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.
8
dch -r
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!
9
git diff
Make sure the output is exactly what you expect!
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.
cd /var/lib/debbugs/spool/db-h
Switch to the database directory.
cp -av XX/bugnumberXX.log{,.bak}
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.
The directory containing the bug report log is always named after the last two digits (0-padded, if necessary) of the bug report number.
11
/usr/lib/debbugs/cleanbug bugnumber
This tool will interactively list all messages (including status changes) in the report and asks whether to keep or discard them.
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.
This also includes some status messages, which must be likewise discarded to create illogical logs.
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.
12
git commit -am 'release <ver>'
13
git push
14
git tag -s '<ver>' -m 'Upstream version <ver>'
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
git push --tags
Run this on your own machine to push the new tag.
16
tarballrelease <ver> <ver>
Back on japsand
17
x2go-signtarballs
Automatically signs and checksums tarballs, dmg files etc. No manual work required.
18
unison X2Go-Releases.prf
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
updatebuildmain
Automatically update build-main branch.
21
x2go-release-announcements [<first> [<last>]]
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
increment version in: .spec, VERSION
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.
git log --oneline | grep -i 'continue develop'
Check the last post-release commit for any other files that might include the version and need to be updated!
dch -i
23
debcommit -a
Commits the changes.
wiki/development/release-howto.txt · Last modified: 2022/08/29 23:29 by ionic