GitLab Runner 11.9 release checklist

GitLab Runner Release manager: @steveazz

Release blog post MR: gitlab-com/www-gitlab-com!19679 (merged)

Runner entries need to be added to blog post until: 2019-03-13

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

~"Pick into 11.9" Merge Requests to be picked into the stable branch: here

First working day after 7th - v11.9.0-rc1 release

  • check if Pipeline for master is passing: pipeline status

    • 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.9.0-rc1 (TODAY_DATE_HERE)
  • add v11.9.0-rc1 CHANGELOG entries and commit

    git add CHANGELOG.md; git commit -m "Update CHANGELOG for v11.9.0-rc1" -S
  • tag and push v11.9.0-rc1:

    git tag -s v11.9.0-rc1 -m "Version v11.9.0-rc1" && git push origin v11.9.0-rc1
  • create and push 11-9-stable branch:

    git checkout -b 11-9-stable; git push -u origin 11-9-stable
  • checkout to master, update VERSION file to 11.10.0 and push master:

    git checkout master; echo -n "11.10.0" > VERSION; git add VERSION; git commit -m "Bump version to 11.10.0" -S && git push
  • wait for Pipeline for v11.9.0-rc1 to pass pipeline status

    • add all required fixes to make v11.9.0-rc1 passing
  • deploy v11.9.0-rc1

  • update runner helm chart to use v11.9.0-rc1 version

    • check if Pipeline for master is passing: pipeline status

      • 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.9.0-rc1 version of Runner

      • create new branch, update Runner version and push the branch:

        git checkout -b update-runner-to-11-9-0-rc1 && sed -i".bak" "s/^appVersion: .*/appVersion: 11.9.0-rc1/" Chart.yaml && rm Chart.yaml.bak && git add Chart.yaml && git commit -m "Bump used Runner version to 11.9.0-rc1" -S && git push -u origin update-runner-to-11-9-0-rc1
      • create Merge Request pointing master: https://gitlab.com/charts/gitlab-runner/merge_requests/94

        rrhelper \
            --dry-run \
            create-merge-request \
            --release-checklist-issue 4039 \
            --replace-link-in-release-checklist-issue link_to_MR__rhc_urv_rc1 \
            --milestone 11.9 \
            --runner-version 11.9.0-rc1 \
            charts/gitlab-runner \
            update-runner-to-11-9-0-rc1 \
            master \
            runner-version-bump-in-runner-helm-chart \
            "Bump used Runner version to 11.9.0-rc1"
      • manage to merge the MR

    • check if Pipeline for master is passing: pipeline status

      • 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.3.0-rc1 (TODAY_DATE_HERE)
    • add v0.3.0-rc1 CHANGELOG entries and commit

      git add CHANGELOG.md && git commit -m "Update CHANGELOG for v0.3.0-rc1" -S
    • bump version of the Helm Chart to 0.3.0-rc1

      sed -i".bak" "s/^version: .*/version: 0.3.0-rc1/" Chart.yaml && rm Chart.yaml.bak && git add Chart.yaml && git commit -m "Bump version to 0.3.0-rc1" -S
    • tag and push v0.3.0-rc1:

      git tag -s v0.3.0-rc1 -m "Version v0.3.0-rc1" && git push origin v0.3.0-rc1
    • create and push 0-3-0-stable branch:

      git checkout -b 0-3-0-stable && git push -u origin 0-3-0-stable
    • checkout to master, bump version of the Helm Chart to 0.4.0-beta and push master:

      git checkout master; sed -i".bak" "s/^version: .*/version: 0.4.0-beta/" Chart.yaml && rm Chart.yaml.bak &&  git add Chart.yaml && git commit -m "Bump version to 0.4.0-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-03-13)

  • 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.9
      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.9 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:
    
        * [__Title__](https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/__ID__)
    
        List of all changes can be found in GitLab Runner's [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-runner/blob/v11.9.0/CHANGELOG.md).

At March 13th - v11.9.0-rc2 release

  • check if Pipeline for 11-9-stable is passing: pipeline status

    • add all required fixes to make 11-9-stable Pipeline passing
  • git checkout 11-9-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.9.0-rc2 (TODAY_DATE_HERE)
  • add v11.9.0-rc2 CHANGELOG entries and commit

    git add CHANGELOG.md; git commit -m "Update CHANGELOG for v11.9.0-rc2" -S
  • tag and push v11.9.0-rc2 and 11-9-stable:

    git tag -s v11.9.0-rc2 -m "Version v11.9.0-rc2" && git push origin v11.9.0-rc2 11-9-stable
  • wait for Pipeline for v11.9.0-rc2 to pass pipeline status

    • add all required fixes to make v11.9.0-rc2 passing
  • deploy v11.9.0-rc2

  • update runner helm chart to use v11.9.0-rc2 version

    • check if Pipeline for 0-3-0-stable is passing: pipeline status

      • add all required fixes to make 0-3-0-stable Pipeline passing
    • go to your local working copy of https://gitlab.com/charts/gitlab-runner

    • git checkout 0-3-0-stable && git pull in your local working copy!

    • set Helm Chart to use v11.9.0-rc2 version of Runner

      • create new branch, update Runner version and push the branch:

        git checkout -b update-runner-to-11-9-0-rc2 && sed -i".bak" "s/^appVersion: .*/appVersion: 11.9.0-rc2/" Chart.yaml && rm Chart.yaml.bak && git add Chart.yaml && git commit -m "Bump used Runner version to 11.9.0-rc2" -S && git push -u origin update-runner-to-11-9-0-rc2
      • create Merge Request pointing 0-3-0-stable: https://gitlab.com/charts/gitlab-runner/merge_requests/96

        rrhelper \
            --dry-run \
            create-merge-request \
            --release-checklist-issue 4039 \
            --replace-link-in-release-checklist-issue link_to_MR__rhc_urv_rc2 \
            --milestone 11.9 \
            --runner-version 11.9.0-rc2 \
            charts/gitlab-runner \
            update-runner-to-11-9-0-rc2 \
            0-3-0-stable \
            runner-version-bump-in-runner-helm-chart \
            "Bump used Runner version to 11.9.0-rc2"
      • manage to merge the MR

    • check if Pipeline for 0-3-0-stable is passing: pipeline status

      • add all required fixes to make 0-3-0-stable Pipeline passing
    • git checkout 0-3-0-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.3.0-rc2 (TODAY_DATE_HERE)
    • add v0.3.0-rc2 CHANGELOG entries and commit

      git add CHANGELOG.md && git commit -m "Update CHANGELOG for v0.3.0-rc2" -S
    • bump version of the Helm Chart to 0.3.0-rc2

      sed -i".bak" "s/^version: .*/version: 0.3.0-rc2/" Chart.yaml && rm Chart.yaml.bak && git add Chart.yaml && git commit -m "Bump version to 0.3.0-rc2" -S
    • tag and push v0.3.0-rc2 and 0-3-0-stable:

      git tag -s v0.3.0-rc2 -m "Version v0.3.0-rc2" && git push origin v0.3.0-rc2 0-3-0-stable

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-9-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-9-stable is passing: pipeline status

    • add all required fixes to make 11-9-stable Pipeline passing
  • git checkout 11-9-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.9.0-rcZ (TODAY_DATE_HERE)
  • add v11.9.0-rcZ CHANGELOG entries and commit

    git add CHANGELOG.md; git commit -m "Update CHANGELOG for v11.9.0-rcZ" -S
  • tag and push v11.9.0-rcZ and 11-9-stable:

    git tag -s v11.9.0-rcZ -m "Version v11.9.0-rcZ" && git push origin v11.9.0-rcZ 11-9-stable
  • wait for Pipeline for v11.9.0-rcZ to pass pipeline status

    • add all required fixes to make v11.9.0-rcZ passing
  • deploy v11.9.0-rcZ

  • update runner helm chart to use v11.9.0-rcZ version

    • check if Pipeline for 0-3-0-stable is passing: pipeline status

      • add all required fixes to make 0-3-0-stable Pipeline passing
    • go to your local working copy of https://gitlab.com/charts/gitlab-runner

    • git checkout 0-3-0-stable && git pull in your local working copy!

    • set Helm Chart to use v11.9.0-rcZ version of Runner

      • create new branch, update Runner version and push the branch:

        git checkout -b update-runner-to-11-9-0-rcZ && sed -i".bak" "s/^appVersion: .*/appVersion: 11.9.0-rcZ/" Chart.yaml && rm Chart.yaml.bak && git add Chart.yaml && git commit -m "Bump used Runner version to 11.9.0-rcZ" -S && git push -u origin update-runner-to-11-9-0-rcZ
      • create Merge Request pointing 0-3-0-stable: link_to_MR__rhc_urv_rcZ

        rrhelper \
            --dry-run \
            create-merge-request \
            --release-checklist-issue 4039 \
            --replace-link-in-release-checklist-issue link_to_MR__rhc_urv_rcZ \
            --milestone 11.9 \
            --runner-version 11.9.0-rcZ \
            charts/gitlab-runner \
            update-runner-to-11-9-0-rcZ \
            0-3-0-stable \
            runner-version-bump-in-runner-helm-chart \
            "Bump used Runner version to 11.9.0-rcZ"
      • manage to merge the MR

    • check if Pipeline for 0-3-0-stable is passing: pipeline status

      • add all required fixes to make 0-3-0-stable Pipeline passing
    • git checkout 0-3-0-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.3.0-rcZ (TODAY_DATE_HERE)
    • add v0.3.0-rcZ CHANGELOG entries and commit

      git add CHANGELOG.md && git commit -m "Update CHANGELOG for v0.3.0-rcZ" -S
    • bump version of the Helm Chart to 0.3.0-rcZ

      sed -i".bak" "s/^version: .*/version: 0.3.0-rcZ/" Chart.yaml && rm Chart.yaml.bak && git add Chart.yaml && git commit -m "Bump version to 0.3.0-rcZ" -S
    • tag and push v0.3.0-rcZ and 0-3-0-stable:

      git tag -s v0.3.0-rcZ -m "Version v0.3.0-rcZ" && git push origin v0.3.0-rcZ 0-3-0-stable

At 22th - the release day

Before 12:00 UTC

  • check if Pipeline for 11-9-stable is passing: pipeline status

    • add all required fixes to make 11-9-stable Pipeline passing
  • git checkout 11-9-stable && git pull in your local working copy!

  • merge all RCx CHANGELOG entries into release entry

    Put a proper header at the begining:

    v11.9.0 (TODAY_DATE_HERE)
  • add v11.9.0 CHANGELOG entries and commit

    git add CHANGELOG.md && git commit -m "Update CHANGELOG for v11.9.0" -S
  • tag and push v11.9.0 and 11-9-stable:

    git tag -s v11.9.0 -m "Version v11.9.0" && git push origin v11.9.0 11-9-stable
  • checkout to master and merge 11-9-stable into master (only this one time, to update CHANGELOG.md and make the tag available for ./scripts/prepare-changelog-entries.rb in next stable release), push master:

    git checkout master; git merge --no-ff 11-9-stable
    # check that the only changes are in CHANGELOG.md
    git push
  • update runner helm chart to use v11.9.0 version

    • check if Pipeline for 0-3-0-stable is passing: pipeline status

      • add all required fixes to make 0-3-0-stable Pipeline passing
    • go to your local working copy of https://gitlab.com/charts/gitlab-runner

    • git checkout 0-3-0-stable && git pull in your local working copy!

    • set Helm Chart to use v11.9.0 version of Runner

      • create new branch, update Runner version and push the branch:

        git checkout -b update-runner-to-11-9-0 && sed -i".bak" "s/^appVersion: .*/appVersion: 11.9.0/" Chart.yaml && rm Chart.yaml.bak && git add Chart.yaml && git commit -m "Bump used Runner version to 11.9.0" -S && git push -u origin update-runner-to-11-9-0
      • create Merge Request pointing 0-3-0-stable: https://gitlab.com/charts/gitlab-runner/merge_requests/102

        rrhelper \
            --dry-run \
            create-merge-request \
            --release-checklist-issue 4039 \
            --replace-link-in-release-checklist-issue link_to_MR__rhc_urv_stable \
            --milestone 11.9 \
            --runner-version 11.9.0 \
            charts/gitlab-runner \
            update-runner-to-11-9-0 \
            0-3-0-stable \
            runner-version-bump-in-runner-helm-chart \
            "Bump used Runner version to 11.9.0"
      • manage to merge the MR

    • check if Pipeline for 0-3-0-stable is passing: pipeline status

      • add all required fixes to make 0-3-0-stable Pipeline passing
    • git checkout 0-3-0-stable && git pull in your local working copy!

    • merge all RCx CHANGELOG entries into release entry

      Put a proper header at the begining:

      ## v0.3.0 (TODAY_DATE_HERE)
    • add v0.3.0 CHANGELOG entries and commit

      git add CHANGELOG.md && git commit -m "Update CHANGELOG for v0.3.0" -S
    • bump version of the Helm Chart to 0.3.0

      sed -i".bak" "s/^version: .*/version: 0.3.0/" Chart.yaml && rm Chart.yaml.bak && git add Chart.yaml && git commit -m "Bump version to 0.3.0" -S
    • tag and push v0.3.0 and 0-3-0-stable:

      git tag -s v0.3.0 -m "Version v0.3.0" && git push origin v0.3.0 0-3-0-stable
    • checkout to master and merge 0-3-0-stable into master (only this one time, to update CHANGELOG.md and make the tag available for ./scripts/prepare-changelog-entries.rb in next stable release), push master:

      git checkout master; git merge --no-ff 0-3-0-stable
      # check that the only changes are in CHANGELOG.md
      git push
  • update Runner's chart version used by GitLab: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/26467

    • create branch

      rrhelper \
          --dry-run \
          create-branch \
          gitlab-org/gitlab-ce \
          update-gitlab-runner-helm-chart-to-0-3-0
    • create Merge Request

      rrhelper \
          --dry-run \
          create-merge-request \
          --release-checklist-issue 4039 \
          --replace-link-in-release-checklist-issue link_to_MR__gce_rhcvu \
          --milestone 11.10 \
          --runner-version 11.9.0 \
          --helm-chart-version 0.3.0 \
          gitlab-org/gitlab-ce \
          update-gitlab-runner-helm-chart-to-0-3-0 \
          master \
          runner-helm-chart-upgrade-in-gitlab-ce \
          "Update GitLab Runner Helm Chart to 0.3.0/11.9.0"
    • Adjust and apply the patch to the GitLab CE sources

      See the patch draft
      • Adjust the following patch (set proper current version; set the Merge Request ID in the CHANGELOG entry file) and save it at /tmp/patch.gitlab-ce.

        diff --git a/app/models/clusters/applications/runner.rb b/app/models/clusters/applications/runner.rb
        index 0c0247da1fb..f17da0bb7b1 100644
        --- a/app/models/clusters/applications/runner.rb
        +++ b/app/models/clusters/applications/runner.rb
        @@ -3,7 +3,7 @@
         module Clusters
           module Applications
             class Runner < ActiveRecord::Base
        -      VERSION = '0.2.0'.freeze
        +      VERSION = '0.3.0'.freeze
        
               self.table_name = 'clusters_applications_runners'
        
        diff --git a/changelogs/unreleased/update-gitlab-runner-helm-chart-to-0-3-0.yml b/changelogs/unreleased/update-gitlab-runner-helm-chart-to-0-3-0.yml
        new file mode 100644
        index 00000000000..7d92929221f
        --- /dev/null
        +++ b/changelogs/unreleased/update-gitlab-runner-helm-chart-to-0-3-0.yml
        @@ -0,0 +1,5 @@
        +---
        +title: Update GitLab Runner Helm Chart to 0.3.0
        +merge_request: XXX
        +author:
        +type: other
        diff --git a/spec/models/clusters/applications/runner_spec.rb b/spec/models/clusters/applications/runner_spec.rb
        index 3d0735c6d0b..8ad41e997c2 100644
        --- a/spec/models/clusters/applications/runner_spec.rb
        +++ b/spec/models/clusters/applications/runner_spec.rb
        @@ -46,7 +46,7 @@ describe Clusters::Applications::Runner do
             it 'should be initialized with 4 arguments' do
               expect(subject.name).to eq('runner')
               expect(subject.chart).to eq('runner/gitlab-runner')
        -      expect(subject.version).to eq('0.2.0')
        +      expect(subject.version).to eq('0.3.0')
               expect(subject).to be_rbac
               expect(subject.repository).to eq('https://charts.gitlab.io')
               expect(subject.files).to eq(gitlab_runner.files)
        @@ -64,7 +64,7 @@ describe Clusters::Applications::Runner do
               let(:gitlab_runner) { create(:clusters_applications_runner, :errored, runner: ci_runner, version: '0.1.13') }
        
               it 'should be initialized with the locked version' do
        -        expect(subject.version).to eq('0.2.0')
        +        expect(subject.version).to eq('0.3.0')
               end
             end
           end
      • Go to your local GitLab CE working directory:

        git pull && \
            git checkout update-gitlab-runner-helm-chart-to-0-3-0 && \
            git apply /tmp/patch.gitlab-ce && \
            git add . && \
            git commit -m "Update GitLab Runner Helm Chart to 0.3.0" && \
            git push
  • update Runner's chart version used by GitLab chart: https://gitlab.com/charts/gitlab/merge_requests/735

    • create branch

      rrhelper \
          --dry-run \
          create-branch \
          charts/gitlab \
          update-gitlab-runner-helm-chart-to-0-3-0
    • create Merge Request

          rrhelper \
              --dry-run \
              create-merge-request \
              --release-checklist-issue 4039 \
              --replace-link-in-release-checklist-issue https://gitlab.com/charts/gitlab/merge_requests/735 \
              --milestone 11.9 \
              --runner-version 11.9.0 \
              --helm-chart-version 0.3.0 \
              charts/gitlab \
              update-gitlab-runner-helm-chart-to-0-3-0 \
              master \
              runner-helm-chart-upgrade-in-gitlab-helm-chart \
              "Update GitLab Runner Helm Chart to 0.3.0/11.9.0"
    • Adjust and apply the patch to the GitLab Helm Chart sources

      See the patch draft
      • Adjust the following patch (set proper current version; set the Merge Request ID in the CHANGELOG entry file) and save it at /tmp/patch.gitlab-helm-chart.

            diff --git a/changelogs/unreleased/update-gitlab-runner-to-0-3-0.yml b/changelogs/unreleased/update-gitlab-runner-to-0-3-0.yml
            new file mode 100644
            index 00000000..5fd73668
            --- /dev/null
            +++ b/changelogs/unreleased/update-gitlab-runner-to-0-3-0.yml
            @@ -0,0 +1,5 @@
            +---
           +title: Update gitlab-runner to 0.3.0/11.9.0
            +merge_request: XXX
            +author:
            +type: other
            diff --git a/requirements.yaml b/requirements.yaml
            index 82a0192a..c6293a8d 100644
            --- a/requirements.yaml
            +++ b/requirements.yaml
            @@ -13,6 +13,6 @@ dependencies:
               repository: https://kubernetes-charts.storage.googleapis.com/
               condition: postgresql.install
             - name: gitlab-runner
            -  version: 0.2.0
            +  version: 0.3.0
               repository: https://charts.gitlab.io/
               condition: gitlab-runner.install
      • Go to your local GitLab Helm Chart working directory:

        git pull && \
            git checkout update-gitlab-runner-helm-chart-to-0-3-0 && \
            git apply /tmp/patch.gitlab-helm-chart && \
            git add . && \
            git commit -m "Update GitLab Runner Helm Chart to 0.3.0" && \
            git push

Before 15:00 UTC

Before next 7th

  • chose a release manager

  • @release manager: create the new Release Checklist issue: [link to the ISSUE]

    rrhelper \
        --dry-run \
        create-release-checklist \
        --non-interactive \
        --previous-release-checklist-issue 4039

    Ensure, that the above command handles:

    • adding link to the release blog post's MR

    • setting 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 earliest one.

    • updating the .Major and .Minor to a specific release version

    • updating the .HelmChartMajor and .HelmChartMinor to a specific release version

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.9.0-rcZ** release

- [ ] check if Pipeline for `11-9-stable` is passing: [![pipeline status](https://gitlab.com/gitlab-org/gitlab-runner/badges/11-9-stable/pipeline.svg)](https://gitlab.com/gitlab-org/gitlab-runner/commits/11-9-stable)
    - [ ] add all required fixes to make `11-9-stable` Pipeline passing
- [ ] `git checkout 11-9-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.9.0-rcZ (TODAY_DATE_HERE)
    ```

- [ ] add **v11.9.0-rcZ** CHANGELOG entries and commit

    ```bash
    git add CHANGELOG.md; git commit -m "Update CHANGELOG for v11.9.0-rcZ" -S
    ```

- [ ] tag and push **v11.9.0-rcZ** and **11-9-stable**:

    ```bash
    git tag -s v11.9.0-rcZ -m "Version v11.9.0-rcZ" && git push origin v11.9.0-rcZ 11-9-stable
    ```

- [ ] wait for Pipeline for `v11.9.0-rcZ` to pass [![pipeline status](https://gitlab.com/gitlab-org/gitlab-runner/badges/v11.9.0-rcZ/pipeline.svg)](https://gitlab.com/gitlab-org/gitlab-runner/commits/v11.9.0-rcZ)
    - [ ] add all required fixes to make `v11.9.0-rcZ` passing
- [ ] [deploy **v11.9.0-rcZ**][runner-deployment-runbook]
- [ ] update runner [helm chart](https://gitlab.com/charts/gitlab-runner) to use `v11.9.0-rcZ` version
    - [ ] check if Pipeline for `0-3-0-stable` is passing: [![pipeline status](https://gitlab.com/charts/gitlab-runner/badges/0-3-0-stable/pipeline.svg)](https://gitlab.com/charts/gitlab-runner/commits/0-3-0-stable)
        - [ ] add all required fixes to make `0-3-0-stable` Pipeline passing
    - [ ] go to your local working copy of https://gitlab.com/charts/gitlab-runner
    - [ ] `git checkout 0-3-0-stable && git pull` in your local working copy!
    - [ ] set Helm Chart to use `v11.9.0-rcZ` version of Runner
        - [ ] create new branch, update Runner version and push the branch:

            ```bash
            git checkout -b update-runner-to-11-9-0-rcZ && sed -i".bak" "s/^appVersion: .*/appVersion: 11.9.0-rcZ/" Chart.yaml && rm Chart.yaml.bak && git add Chart.yaml && git commit -m "Bump used Runner version to 11.9.0-rcZ" -S && git push -u origin update-runner-to-11-9-0-rcZ
            ```

        - [ ] create Merge Request pointing `0-3-0-stable`: link_to_MR__rhc_urv_rcZ

            ```bash
            rrhelper \
                --dry-run \
                create-merge-request \
                --release-checklist-issue 4039 \
                --replace-link-in-release-checklist-issue link_to_MR__rhc_urv_rcZ \
                --milestone 11.9 \
                --runner-version 11.9.0-rcZ \
                charts/gitlab-runner \
                update-runner-to-11-9-0-rcZ \
                0-3-0-stable \
                runner-version-bump-in-runner-helm-chart \
                "Bump used Runner version to 11.9.0-rcZ"
            ```

        - [ ] manage to merge the MR
    - [ ] check if Pipeline for `0-3-0-stable` is passing: [![pipeline status](https://gitlab.com/charts/gitlab-runner/badges/0-3-0-stable/pipeline.svg)](https://gitlab.com/charts/gitlab-runner/commits/0-3-0-stable)
        - [ ] add all required fixes to make `0-3-0-stable` Pipeline passing
    - [ ] `git checkout 0-3-0-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.3.0-rcZ (TODAY_DATE_HERE)
        ```

    - [ ] add **v0.3.0-rcZ** CHANGELOG entries and commit

        ```bash
        git add CHANGELOG.md && git commit -m "Update CHANGELOG for v0.3.0-rcZ" -S
        ```

    - [ ] bump version of the Helm Chart to `0.3.0-rcZ`

        ```bash
        sed -i".bak" "s/^version: .*/version: 0.3.0-rcZ/" Chart.yaml && rm Chart.yaml.bak && git add Chart.yaml && git commit -m "Bump version to 0.3.0-rcZ" -S
        ```

    - [ ] tag and push **v0.3.0-rcZ** and **0-3-0-stable**:

        ```bash
        git tag -s v0.3.0-rcZ -m "Version v0.3.0-rcZ" && git push origin v0.3.0-rcZ 0-3-0-stable
        ```
Edited by Tomasz Maczukin