Release 15.8

After the EE stable branch 15-8-stable-ee is created

  • Update main-jh with the latest master again.

    • git checkout main-jh
    • git pull
    • git fetch upstream
    • git checkout upstream/master
    • git pull upstream master
    • git checkout main-jh
    • git merge upstream/master
    • git push
  • Review JH changes between master and main-jh.

    • git diff upstream/master..main-jh > jh.patch
  • Get the commit where 15-8-stable-ee was cut from master.

    $ git show `git merge-base upstream/15-8-stable-ee upstream/master`
    commit 9d355b2259409d993dc16bbece0234f1042905e1
    Merge: dc8e8197114a a6cec896cb58
    Author: David Dieulivol <ddieulivol@gitlab.com>
    Date:   Wed Jan 18 18:11:08 2023
    
        Merge branch '387550-add-background-migration-jobs' into 'master'
    
        Introduce `rspec background-migration pg12` jobs
    
        See merge request https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108841
    
        Merged-by: David Dieulivol <ddieulivol@gitlab.com>
        Approved-by: Alina Mihaila <amihaila@gitlab.com>
        Approved-by: David Dieulivol <ddieulivol@gitlab.com>
        Co-authored-by: Lin Jen-Shin <jen-shin@gitlab.com>
  • Get the latest JH merge commit or Update jh/Gemfile.lock commit until the commit 9d355b2259409d993dc16bbece0234f1042905e1.

    $ git log --show-pulls --until "Wed Jan 18 18:11:08 2023" main-jh -- jh
    commit 10b564859c722224d12d61cfac56175de75e5dcf
    Author: JH_SYNC_TOKEN <project23966655_bot2@example.com>
    Date:   Wed Jan 18 15:06:11 2023
    
        Update jh/Gemfile.lock
    
    
  • Create 15-8-stable-jh from the commit 10b564859c722224d12d61cfac56175de75e5dcf.

    • git branch 15-8-stable-jh 10b564859c722224d12d61cfac56175de75e5dcf
  • Merge 15-8-stable-ee to 15-8-stable-jh.

    • git checkout 15-8-stable-jh
    • git merge upstream/15-8-stable-ee
  • Review JH changes between 15-8-stable-ee and 15-8-stable-jh.

    • git diff upstream/15-8-stable-ee..15-8-stable-jh > jh-stable.patch
    • diff jh-stable.patch jh.patch # => This should only contain the code diff of the JH commits merged after 10b564859c722224d12d61cfac56175de75e5dcf on main-jh, i.e. the following commits and their code diff:
      $ git rev-list --no-merges 10b564859c722224d12d61cfac56175de75e5dcf..main-jh -- jh
      8c46ee4d2be778904714859a2d985fadd3e4d6fa
      58a9009349fa6dabfd71b93e51544ff855ed9a02
      610b20142b29e6b67fc0a4d8094e4d0d4a5d5dfe
      fc740e90b58de5e91694685582902136ddb65815
      c2cb7db4129c6094c31b642543c44d8ca11cf659
      75bc24e1867322af5d3230df8b83a57dc6ae4577
      0c61246146401b1cbbb22e61d02b7826bc44b1ca
      28813575f2701820c10ff87fa302964c03090e51
      29a5c43c34363332e6ab6db3b091bf1a88480f6d
      fb1c77275d6f9af2810e18c7c2297982679e7d16
      
      $ git diff 10b564859c722224d12d61cfac56175de75e5dcf..main-jh -- jh
  • Cherry pick the following JH commits to 15-8-stable-jh since we need them in this release. Please note they are the merge commits in the related MRs, so we need to cherry pick them with the -m1 option, and these commits should be cherry picked in the same order as when the related MRs were merged (otherwise there may be code conflicts during cherry-pick). If any of these commits depends on an upstream commit which is not in 15-8-stable-ee, we need to cherry pick such upstream commit first.

  • Update the jh/Gemfile.lock file:

    • bundle config set --local gemfile jh/Gemfile (if you didn't point Gemfile to jh/Gemfile before)
    • cp Gemfile.lock jh/ && bundle install
    • If the above step generates changes to the jh/Gemfile.lock file, commit the changes with the commit message Update jh/Gemfile.lock.
  • Push 15-8-stable-jh to remote.

  • Monitor the pipeline of 15-8-stable-jh and make sure it can pass.

After the EE release tag v15.8.0-ee is created

  • Merge the EE release tag to make sure we have all the commits.
    • git checkout 15-8-stable-jh
    • git merge v15.8.0-ee
  • Update VERSION to 15.8.0-jh.
    • echo -n 15.8.0-jh > VERSION
    • git commit -a -m "Update VERSION to 15.8.0-jh"
  • Tag v15.8.0-jh from 15-8-stable-jh.
    • git tag v15.8.0-jh -m "Version v15.8.0-jh"
  • Push the branch 15-8-stable-jh and the tag v15.8.0-jh
  • Monitor the pipeline of v15.8.0-jh and make sure it can pass.
Dave Liu(Wenju) 编辑于