Release a Relase Candidate version of Asqatasun
This is the documentation for releasing a new version for Asqatasun. As an end user, you won't need it, it is just for developers.
1) Prepare CHANGELOG.md:
- use CHANGELOG_template.md
- add an entry for this RC
- add differences between this release and previous one:
2) Update README.md (THE readme from top directory):
- copy/paste changelog in section "Content of this last version"
3) Upgrade version strings in code with
cd engine/asqatasun-resources/src/main/resources/release/ ./bump_asqatasun.sh --from-version X.Y.Z-SNAPSHOT --to-version X.Y.Z-rc.1 --automerge --commit --tag --push
4) Build local Docker image with locally build Asqatasun
...and check release is the good one + run some manual tests
cd /tmp/Asqatasun # Directory used to clone Github repos docker/build_and_run-with-docker.sh --skip-build -s /tmp/Asqatasun -d docker/SNAPSHOT-local
5) For develop branch, switch back release strings to "-SNAPSHOT"
cd /tmp/Asqatasun # Directory used to clone Github repos git checkout develop git rebase master cd engine/asqatasun-resources/src/main/resources/release/ ./bump_asqatasun.sh --from-version X.Y.Z-rc.1 --to-version X.Y.Z-SNAPSHOT --source-dir /tmp/Asqatasun find . -name "pom.xml" | xargs git add -u :/ find . -name "Dockerfile" | xargs git add -u :/ git add **/install.sh git add **/asqatasun.conf git add ansible/asqatasun/defaults/main.yml git commit -m "Switch release to X.Y.Z-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
7) Update Download.asqatasun.org
...so 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.
latestas 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
- Facebook message
- LinkedIn groups + LinkedIn profiles