Release a Release Candidate version of Asqatasun

This is the documentation for releasing a new version Release Candidate for Asqatasun. As an end user, you won't need it, it is just for developers.

1) Prepare

2) Update (THE readme from top directory):

  • copy/paste changelog in section "Content of this last version"

3) Upgrade version strings in code with

/!\ Please be sure to be:

  1. on the develop branch before launching the following script (not in a feature branch)
  2. inside the top directory of Asqatasun sources (eg /home/johndoe/my-sources/Asqatasun)
./engine/asqatasun-resources/src/main/resources/release/ \
    --source . \
    --from-version X.Y.Z-SNAPSHOT \
    --to-version X.Y.Z-rc.1 \
    --automerge \
    --commit \
    --tag \

4) Build local Docker image with locally build Asqatasun

When --source is specified, get into that source directory and:

./docker/ -l -s "${PWD}" -d docker/SNAPSHOT-local --skip-build-test

else when using clone in /tmp:

cd /tmp/Asqatasun   # Directory used to clone Github repos
./docker/ -l -s /tmp/Asqatasun -d docker/SNAPSHOT-local --skip-build-test

5) For develop branch, switch back release strings to "-SNAPSHOT"

From the top of Asqatasun source directory, do:

./engine/asqatasun-resources/src/main/resources/release/ \
    --from-version X.Y.Z-rc.1 \
    --to-version X.Y.Z-SNAPSHOT \
    --source-dir . \
    --back-to-snapshot \
git push origin develop

6) In Github:

  • Define this tag as "Pre-Release" (as it is a Release Candidate)
  • Copy/paste Changelog to Github Pre-Release comment field
  • Upload the .tar.gz file

7) Update that "latest" points to the last release.

8) In Asqatasun Docker hub:

  • Add a dedicated build for the Github tag (e.g. 4.0.0-rc.1) with the same tag as Docker tag (4.0.0-rc.1) (while waiting to have a working regexp :) ).
  • Add another dedicated build for the Github tag (e.g. 4.0.0-rc.1) with latest as Docker tag

9) Write a message in the forum

10) Send an email to close people to ask them if they want to play with the RC.

11) Run the functional tests

12) Prepare communication

  • Tweet
  • Facebook message
  • LinkedIn groups + LinkedIn profiles
  • LinuxFR
  • TooLinux

13) If no blocker is found, proceed to next step, else iterate and increment RC number.