GitLab Runner 11.7 release checklist
GitLab Runner 11.7 release checklist
GitLab Runner Release manager: @tmaczukin
Release blog post MR: gitlab-com/www-gitlab-com!17766 (merged)
Runner entries need to be added to blog post until: 2019-01-11
Technical description of the release, with commands examples, can be found at: https://gitlab.com/gitlab-org/gitlab-runner/blob/master/docs/release_process/how_to_release_runner.md
Before 7th
-
chose a release manager -
link release blog post's MR -
set deadline for add entries to release blog post Please check what deadline is set for `General Contributions` section in the release blog post Merge Request. It should be 6th working day before the 22nd. In that case we can set our deadline for 7th working day before 22nd, however if the deadline from the MR is earlier, then use the eraliest one.
-
Update the .Major
and.Minor
to a specific release version -
Update the .HelmChartMajor
,.HelmChartMinor
and.HelmChartPatch
to a specific release version
First working day after 7th - v11.7.0-rc1 release
-
check if Pipeline for master
is passing:-
add all required fixes to make master
Pipeline passing
-
-
git checkout master && git pull
in your local working copy! -
prepare CHANGELOG entries ./scripts/prepare-changelog-entries.rb
Copy the lines to the beginning of
CHANGELOG.md
file and add a proper header:v11.7.0-rc1 (TODAY_DATE_HERE)
-
add v11.7.0-rc1 CHANGELOG entries and commit git add CHANGELOG.md; git commit -m "Update CHANGELOG for v11.7.0-rc1" -S
-
tag and push v11.7.0-rc1: git tag -s v11.7.0-rc1 -m "Version v11.7.0-rc1" && git push origin v11.7.0-rc1
-
create and push 11-7-stable
branch:git checkout -b 11-7-stable; git push -u origin 11-7-stable
-
checkout to master
, updateVERSION
file to11.8.0
and pushmaster
:git checkout master; echo -n "11.8.0" > VERSION; git add VERSION; git commit -m "Bump version to 11.8.0" -S && git push
-
wait for Pipeline for v11.7.0-rc1
to pass-
add all required fixes to make v11.7.0-rc1
passing
-
-
deploy v11.7.0-rc1 (https://gitlab.com/gitlab-com/runbooks/blob/master/howto/update-gitlab-runner-on-managers.md) -
update runner helm chart to use v11.7.0-rc1
version-
check if Pipeline for master
is passing:-
add all required fixes to make master
Pipeline passing
-
-
go to your local working copy of https://gitlab.com/charts/gitlab-runner -
git checkout master && git pull
in your local working copy! -
set Helm Chart to use v11.7.0-rc1
version of Runner-
create new branch, update Runner version and push the branch: git checkout -b update-runner-to-11-7-0-rc1 && sed -i "s/^appVersion: .*/appVersion: 11.7.0-rc1/" Chart.yaml && git add Chart.yaml && git commit -m "Bump used Runner version to 11.7.0-rc1" -S && git push -u origin update-runner-to-11-7-0-rc1
-
create Merge Request pointing master
: charts/gitlab-runner!78 -
manage to merge the MR
-
-
check if Pipeline for master
is passing:-
add all required fixes to make master
Pipeline passing
-
-
git checkout master && git pull
in your local working copy! -
prepare CHANGELOG entries ./scripts/prepare-changelog-entries.rb
Copy the lines to the beginning of
CHANGELOG.md
file and add a proper header:## v0.1.45-rc1 (TODAY_DATE_HERE)
-
add v0.1.45-rc1 CHANGELOG entries and commit git add CHANGELOG.md && git commit -m "Update CHANGELOG for v0.1.45-rc1" -S
-
bump version of the Helm Chart to 0.1.45-rc1
sed -i "s/^version: .*/version: 0.1.45-rc1/" Chart.yaml && git add Chart.yaml && git commit -m "Bump version to 0.1.45-rc1" -S && git push
-
tag and push v0.1.45-rc1: git tag -s v0.1.45-rc1 -m "Version v0.1.45-rc1" && git push origin v0.1.45-rc1
-
create and push 0-1-45-stable
branch:git checkout -b 0-1-45-stable && git push -u origin 0-1-45-stable
-
checkout to master
, bump version of the Helm Chart to0.1.46-beta
and pushmaster
:git checkout master; sed -i "s/^version: .*/version: 0.1.46-beta/" Chart.yaml && git add Chart.yaml && git commit -m "Bump version to 0.1.46-beta" -S && git push
-
New features window is closed - things not merged into master
up to
this day, will be released with next release.
7 working days before 22th (2019-01-11)
-
prepare GitLab Runner entries for the release blog post. Items can be generated with ./scripts/changelog2releasepost | less
(executed in Runner's local working copy directory) -
add release entry: Add description to the
SECONDARY FEATURES
list using following template:- name: GitLab Runner 11.7 available_in: [core, starter, premium, ultimate] documentation_link: 'https://docs.gitlab.com/runner' documentation_text: "Read through the documentation of GitLab Runner" description: | We're also releasing GitLab Runner 11.7 today! GitLab Runner is the open source project that is used to run your CI/CD jobs and send the results back to GitLab. ##### Most interesting changes: * [Kill Web Terminal session when build is cancelled](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1058) * [Fix path separator for CI_PROJECT_DIR in Windows](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/1128) List of all changes can be found in GitLab Runner's [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-runner/blob/v11.7.0/CHANGELOG.md).
At 20th - next RC release
At this day we should release an RC version, if there was no RC recently - especially if the only RC version was the RC1 released near 7th day of month.
Notice: If there was no new commits picked into
11-7-stable
branch since previous RC, we can skip this step. There is no need in releasing and deploying an RC identical to the one that already exists.
-
check if Pipeline for 11-7-stable
is passing:-
add all required fixes to make 11-7-stable
Pipeline passing
-
-
git checkout 11-7-stable && git pull
in your local working copy! -
prepare CHANGELOG entries ./scripts/prepare-changelog-entries.rb
Copy the lines to the beginning of
CHANGELOG.md
file and add a proper header:v11.7.0-rcZ (TODAY_DATE_HERE)
-
add v11.7.0-rcZ CHANGELOG entries and commit git add CHANGELOG.md; git commit -m "Update CHANGELOG for v11.7.0-rcZ" -S
-
tag and push v11.7.0-rcZ and 11-7-stable: git tag -s v11.7.0-rcZ -m "Version v11.7.0-rcZ" && git push origin v11.7.0-rcZ 11-7-stable
-
wait for Pipeline for v11.7.0-rcZ
to pass-
add all required fixes to make v11.7.0-rcZ
passing
-
-
deploy v11.7.0-rcZ (https://gitlab.com/gitlab-com/runbooks/blob/master/howto/update-gitlab-runner-on-managers.md) -
update runner helm chart to use v11.7.0-rcZ
version-
check if Pipeline for 0-1-45-stable
is passing:-
add all required fixes to make 0-1-45-stable
Pipeline passing
-
-
go to your local working copy of https://gitlab.com/charts/gitlab-runner -
git checkout 0-1-45-stable && git pull
in your local working copy! -
set Helm Chart to use v11.7.0-rcZ
version of Runner-
create new branch, update Runner version and push the branch: git checkout -b update-runner-to-11-7-0-rcZ && sed -i "s/^appVersion: .*/appVersion: 11.7.0-rcZ/" Chart.yaml && git add Chart.yaml && git commit -m "Bump used Runner version to 11.7.0-rcZ" -S && git push -u origin update-runner-to-11-7-0-rcZ
-
create Merge Request pointing 0-1-45-stable
: [link to MR here] -
manage to merge the MR
-
-
check if Pipeline for 0-1-45-stable
is passing:-
add all required fixes to make 0-1-45-stable
Pipeline passing
-
-
git checkout 0-1-45-stable && git pull
in your local working copy! -
prepare CHANGELOG entries ./scripts/prepare-changelog-entries.rb
Copy the lines to the beginning of
CHANGELOG.md
file and add a proper header:## v0.1.45-rcZ (TODAY_DATE_HERE)
-
add v0.1.45-rcZ CHANGELOG entries and commit git add CHANGELOG.md && git commit -m "Update CHANGELOG for v0.1.45-rcZ" -S
-
bump version of the Helm Chart to 0.1.45-rcZ
sed -i "s/^version: .*/version: 0.1.45-rcZ/" Chart.yaml && git add Chart.yaml && git commit -m "Bump version to 0.1.45-rcZ" -S && git push
-
tag and push v0.1.45-rcZ and 0-1-45-stable: git tag -s v0.1.45-rcZ -m "Version v0.1.45-rcZ" && git push origin v0.1.45-rcZ 0-1-45-stable
-
At 22th - the release day
Before 12:00 UTC
-
check if Pipeline for 11-7-stable
is passing:-
add all required fixes to make 11-7-stable
Pipeline passing
-
-
git checkout 11-7-stable && git pull
in your local working copy! -
merge all RCx CHANGELOG entries into release entry Put a proper header at the begining:
v11.7.0 (TODAY_DATE_HERE)
-
add v11.7.0 CHANGELOG entries and commit git add CHANGELOG.md && git commit -m "Update CHANGELOG for v11.7.0" -S
-
tag and push v11.7.0 and 11-7-stable: git tag -s v11.7.0 -m "Version v11.7.0" && git push origin v11.7.0 11-7-stable
-
checkout to master
and merge11-7-stable
intomaster
(only this one time, to update CHANGELOG.md and make the tag available for ./scripts/prepare-changelog-entries.rb in next stable release), pushmaster
:git checkout master; git merge --no-ff 11-7-stable # check that the only changes are in CHANGELOG.md git push
-
update runner helm chart to use v11.7.0
version-
check if Pipeline for 0-1-45-stable
is passing:-
add all required fixes to make 0-1-45-stable
Pipeline passing
-
-
go to your local working copy of https://gitlab.com/charts/gitlab-runner -
git checkout 0-1-45-stable && git pull
in your local working copy! -
set Helm Chart to use v11.7.0
version of Runner-
create new branch, update Runner version and push the branch: git checkout -b update-runner-to-11-7-0 && sed -i "s/^appVersion: .*/appVersion: 11.7.0/" Chart.yaml && git add Chart.yaml && git commit -m "Bump used Runner version to 11.7.0" -S && git push -u origin update-runner-to-11-7-0
-
create Merge Request pointing 0-1-45-stable
: charts/gitlab-runner!82 -
manage to merge the MR
-
-
check if Pipeline for 0-1-45-stable
is passing:-
add all required fixes to make 0-1-45-stable
Pipeline passing
-
-
git checkout 0-1-45-stable && git pull
in your local working copy! -
merge all RCx CHANGELOG entries into release entry Put a proper header at the begining:
## v0.1.45 (TODAY_DATE_HERE)
-
add v0.1.45 CHANGELOG entries and commit git add CHANGELOG.md && git commit -m "Update CHANGELOG for v0.1.45" -S
-
bump version of the Helm Chart to 0.1.45
sed -i "s/^version: .*/version: 0.1.45/" Chart.yaml && git add Chart.yaml && git commit -m "Bump version to 0.1.45" -S && git push
-
tag and push v0.1.45 and 0-1-45-stable: git tag -s v0.1.45 -m "Version v0.1.45" && git push origin v0.1.45 0-1-45-stable
-
checkout to master
and merge0-1-45-stable
intomaster
(only this one time, to update CHANGELOG.md and make the tag available for ./scripts/prepare-changelog-entries.rb in next stable release), pushmaster
:git checkout master; git merge --no-ff 0-1-45-stable # check that the only changes are in CHANGELOG.md git push
-
update Runner's chart version used by GitLab: gitlab-org/gitlab-ce!24564 -
update Runner's chart version used by GitLab chart: charts/gitlab!654
-
Before 15:00 UTC
-
wait for Pipeline for v11.7.0
to pass-
add all required fixes to make v11.7.0
passing
-
-
deploy stable version to all production Runners
RC release template
There should be at least one RC version between RC1 and stable release. If there are any important changes merged into stable branch (like bug/security fixes) the RC should be prepared and deployed as soon as possible. For a less important changes (documentation, simple fixes of typos etc.) the RC can wait a little.
When deciding to release a new RC version, please update the checklist using the following template:
## At _day here_ - **v11.7.0-rcZ** release
- [ ] check if Pipeline for `11-7-stable` is passing: [![pipeline status](https://gitlab.com/gitlab-org/gitlab-runner/badges/11-7-stable/pipeline.svg)](https://gitlab.com/gitlab-org/gitlab-runner/commits/11-7-stable)
- [ ] add all required fixes to make `11-7-stable` Pipeline passing
- [ ] `git checkout 11-7-stable && git pull` in your local working copy!
- [ ] prepare CHANGELOG entries
```bash
./scripts/prepare-changelog-entries.rb
```
Copy the lines to the beginning of `CHANGELOG.md` file and add a proper header:
```markdown
v11.7.0-rcZ (TODAY_DATE_HERE)
```
- [ ] add **v11.7.0-rcZ** CHANGELOG entries and commit
```bash
git add CHANGELOG.md; git commit -m "Update CHANGELOG for v11.7.0-rcZ" -S
```
- [ ] tag and push **v11.7.0-rcZ** and **11-7-stable**:
```bash
git tag -s v11.7.0-rcZ -m "Version v11.7.0-rcZ" && git push origin v11.7.0-rcZ 11-7-stable
```
- [ ] wait for Pipeline for `v11.7.0-rcZ` to pass [![pipeline status](https://gitlab.com/gitlab-org/gitlab-runner/badges/v11.7.0-rcZ/pipeline.svg)](https://gitlab.com/gitlab-org/gitlab-runner/commits/v11.7.0-rcZ)
- [ ] add all required fixes to make `v11.7.0-rcZ` passing
- [ ] deploy **v11.7.0-rcZ** (https://gitlab.com/gitlab-com/runbooks/blob/master/howto/update-gitlab-runner-on-managers.md)
- [ ] update runner [helm chart](https://gitlab.com/charts/gitlab-runner) to use `v11.7.0-rcZ` version
- [ ] check if Pipeline for `0-1-45-stable` is passing: [![pipeline status](https://gitlab.com/charts/gitlab-runner/badges/0-1-45-stable/pipeline.svg)](https://gitlab.com/charts/gitlab-runner/commits/0-1-45-stable)
- [ ] add all required fixes to make `0-1-45-stable` Pipeline passing
- [ ] go to your local working copy of https://gitlab.com/charts/gitlab-runner
- [ ] `git checkout 0-1-45-stable && git pull` in your local working copy!
- [ ] set Helm Chart to use `v11.7.0-rcZ` version of Runner
- [ ] create new branch, update Runner version and push the branch:
```bash
git checkout -b update-runner-to-11-7-0-rcZ && sed -i "s/^appVersion: .*/appVersion: 11.7.0-rcZ/" Chart.yaml && git add Chart.yaml && git commit -m "Bump used Runner version to 11.7.0-rcZ" -S && git push -u origin update-runner-to-11-7-0-rcZ
```
- [ ] create Merge Request pointing `0-1-45-stable`: [link to MR here]
- [ ] manage to merge the MR
- [ ] check if Pipeline for `0-1-45-stable` is passing: [![pipeline status](https://gitlab.com/charts/gitlab-runner/badges/0-1-45-stable/pipeline.svg)](https://gitlab.com/charts/gitlab-runner/commits/0-1-45-stable)
- [ ] add all required fixes to make `0-1-45-stable` Pipeline passing
- [ ] `git checkout 0-1-45-stable && git pull` in your local working copy!
- [ ] prepare CHANGELOG entries
```bash
./scripts/prepare-changelog-entries.rb
```
Copy the lines to the beginning of `CHANGELOG.md` file and add a proper header:
```markdown
## v0.1.45-rcZ (TODAY_DATE_HERE)
```
- [ ] add **v0.1.45-rcZ** CHANGELOG entries and commit
```bash
git add CHANGELOG.md && git commit -m "Update CHANGELOG for v0.1.45-rcZ" -S
```
- [ ] bump version of the Helm Chart to `0.1.45-rcZ`
```bash
sed -i "s/^version: .*/version: 0.1.45-rcZ/" Chart.yaml && git add Chart.yaml && git commit -m "Bump version to 0.1.45-rcZ" -S && git push
```
- [ ] tag and push **v0.1.45-rcZ** and **0-1-45-stable**:
```bash
git tag -s v0.1.45-rcZ -m "Version v0.1.45-rcZ" && git push origin v0.1.45-rcZ 0-1-45-stable
```