We maintain a set of maintenance releases for TextGridLab 2.0
Bug Fixing / Development
- Everything that needs to be fixed for a 2.0.x release needs a proper focused issue report in our Jira.
- Bug fixes should be applied to the
trunk (nightly) code first.
- Each commit should be focused, and it SHOULD mention the relevant issue number (TG-1234) in its commit message
- If you accidently forget to include the issue number with a relevant commit, you MUST add a comment including the relevant revision number(s) of your commit(s) in the bug report
- You should increase the relevant artifact versions accordingly
- If your bug should be included in yet unreleased TextGridLab 2.0.n, include the relevant release in the bug reports fix for field
Preparing the Release Candidate
The 2.0.x train is maintained in the branch http://develop.sub.uni-goettingen.de/repos/textgrid/branches/releases/TextGridLab-2.0.x. There is an automatic build at http://dev.digital-humanities.de/ci/job/lab-2.0.x/. Example description for releasing TextGridLab 2.0.2.
- Checkout the branch
- Adjust the version number by running
./setversion.sh 2.0.2 in the branch directory. Requires xmlstarlet & performs the following edits:
Adjust the version number in the following places (yes I know this sucks):
- base/info.textgrid.lab.welcome/src/info/textgrid/lab/welcome/IntroXHTMLContentProvider.java: The version string for the welcome message
- Generate a list of bugs for the version to be released using the issue filter. Sort by date resolved, increasing
- For each bug:
- determine the changeset(s) by checking the SVN Updates tab and the Comments for the bug report.
Merge the changesets:
svn merge -c <changeset> $trunk
- resolve any conflicts, if neccessary.
- build and clean
commit. In the commit message, you MUST mention the bug report and you SHOULD mention the changesets. It could be helpful to actually get the changeset's original log message, e.g., if you use vi as your editor for the commit message:
:r!svn log -c <changeset> $trunk
Testing the Release Candidate
After the build with all included releases has finished, the RC should be tested
- Manual test against the features
- Functional test
- Test updates from previous lab version by
- downloading a clean copy of the previous version of the lab
- adding the update site, http://download.digital-humanities.de/updates/2.0.x/
- Check for updates or restart the lab
- Call for user tests
When everything is tested we need to prepare the update site, upload the product zips and update the download website.
Prepare the Update Site
- The update sites are maintained on textgridlab.org in
/var/www/updates/stable. We have the following directory structure:
stable/composite/2.0.5 etc. each contain an update site for the respective version only.
stable/composite is an composite update site of all these version-specific update sites.
stable is a (non-composite) mirror of
To prepare this, there are a bunch of scripts linked to /usr/local/bin. Do the following, in this order, replacing 2.0.5 with the appropriate version:
generate-aggregate-repo http://download.digital-humanities.de/updates/2.0.x 2.0.5 – this will mirror the repository from the integration build to the directory
generate-composite-p2-repo "TextGridLab Stable" 2.* – this will create the composite repository metadata for the 2.* subdirectories in the current (composite) directory.
generate-aggregate-repo $PWD/composite candidate – this will create an aggregate (= faster) mirror of the composite stuff in the
For each directory or file in
candidate, remove their respective counterpart from
stable and move the version from
candidate in place.
remove the (now empty)
- Details for managing the directory structure and the
composite*.xml files are at Update Site Management.
Prepare the Downloads
- The download site is on textgridlab.org at
/var/www/download. Files are in subdirectories with the version number
- It is probably best to just mirror the original downloads from the automatic build
- on textgridlab.org, cd into
/var/www/download/2.0.2 and run the generate-lab-index.py script
- open the download page in the typo3 backend and
- paste the generate-lab-index.py output into the download table field in the hero block, replacing the existing content
- write a short release note in German and English into the corresponding field
- generate the changelog in Jira:
- go to the TextGrid project's Versions list
- click the version to release
- click the Release Notes link in the upper right
- paste the changelog into the corresponding field in typo3
- add last version to the list of archived versions
- Go to the Manage Versions page
- Release your version
- add a new version