Project

General

Profile

New Release Check-List

Efficiently upgrading AF3 sources from version a.b.c to d.e.f

Upgrading AF3 (and TK2 version) mainly involves updating the plugin manifest files, few plugin-specific pom.xml files for maven, and the product/build configurations.
This procedure ensures that this can be done manually, but efficiently by using the Eclipse multi-file search and replace function.

Preparing the Release Build

  1. Setup a local AF3 maven-releng eclipse according to the instructions found at: AF3_Build_Management
  2. Create a release ticket in the issue tracker, and create a matching branch for each submodule.
  3. Select the project org.fortiss.af3.root in the Package Explorer and execute an Eclipse File Search with the following settings (Ctrl + H)
    • Containing text = a.b.c (Current version number, e.g., 2.14.0)
    • File name patterns = *.product, MANIFEST.MF, category.xml, feature.xml, pom.xml, plugin.xml
    • Scope = Selected resource in 'Package Explorer'
    • No other search option active.
  4. You may want to inspect the results of this search before launching the replace action.
  5. If the changes are fine, right-click in the Search view, select Replace all, and replace the current version string with the update one:
    • Add the new version number into the upcoming dialog and hit "OK"
    • Replace: "a.b.c"
    • With: "d.e.f"
  6. Run a local build by selecting "Run As > Build All" and observe if any error occurs.
  7. If the build succeeds, commit the changes. NOTE: You must commit to multiple repositories. Since these are submodules, you may need to specify the remote branch: The issue number from the previously created ticket shall be used.
  8. Issue a MR for the plugin org.fortiss.af3.root and each of the submodules where there has been a version update.
  9. After merging, ensure that the AF3 version is configured correctly in the Jenkins Trigger Jobs.

Update "What's new" Page

  1. (Manually) filter the previously created "Release Notes" for changes, that a user would experience.
  2. In your workspace, open org.fortiss.af3.rcp.application/intro/newFeatures.html.
  3. Update version number.
  4. Remove old Entries.
  5. Add entries for the filtered changes in the respective sections.
  6. Commit: It will be automatically added to the MRs imposed earlier.

Building the release

  1. Ask a master to merge all the MRs created before.
  2. Go to Jenkins and change the default versions of the jobs af3-phoenix-release-trigger, af3-phoenix-nightly-trigger, and af3-phoenix-continuous-trigger to the updated version string (subpage: configure).
  3. Execute the af3-phoenix-release-trigger job: The resulting artifacts reside in the job af3-phoenix-release-artifacts.
  4. Once it is finished, check if the artifacts are up-to-date (timestamp ~30min after the build was issued).

Quality management: Ensure that the final product is behaving correctly

  1. Launch the product. Go to "Help"-> "About autoFOCUS3" and check that the version number matches the release version
  2. Verify the test for the binary product listed in AF3 core test cases are successfully completed.
  3. Especially note that the product must start on all platforms, and that the help functionality is working: Ask the platform maintainers for assitance.

Tag the release

  1. Add a tag d.e[.f] indicating the current AF3 version to the following repositories. Suggested log message: Tag AutoFOCUS3 d.e[.f]
    • af3
    • af3-features
    • af3-products
    • af3-rcp
    • af3-tests
    • kernel
    • maven-releng
    • target-definition
  2. Push the above repos (including tags)

Downloads page

  1. Download the release zips from each of the product jobs.
  2. Change their name, write the correct version number (i.e., the new one)
  3. Copy them on downloads.fortiss.org (\\FS01\Download\public\projects\af3\stable\phoenix)
  4. Update the webpage with TYPO3 to refer to these artifacts

Help page on the website

  1. Empty the smb://fs01/download/public/projects/af3/help directory (\\FS01\Download\public\projects\af3\help)
  2. Copy the contents of the org.fortiss.af3.rcp.help/html directory into smb://fs01/download/public/projects/af3/help
  3. Rename getting_started.html into index.html
  4. Delete all .ratings files in this folder

Release Notes: detailed list of issues

To insert the detailed list of issues in the release notes:
  1. Display the relevant issues in Redmine (using the various filtering options of Redmine) (all Closed and Resolved issues from Target Version)
  2. Down the page, to the right, there's a field "Also available in:": click on "CSV"
  3. Select "only the selected columns" and export to CSV
  4. Import the CSV file in LibreOffice or any other Office suite of your choice
  5. Delete the columns you don't want, format the alignment how you want, etc. (do not care about the colors or fonts)
  6. Copy-paste into GVim or any serious text editor of your choice
  7. Replace all the spaces between columns by "|"
  8. Copy/paste the content in typo3

Announcements

Announce the release on:
  1. AF3 main page
  2. Mailing lists af_user and af_devel
  3. fortiss main page
  4. Twitter