Honeycomb/BranchCutting

From fd.io
< Honeycomb
Revision as of 08:23, 4 February 2019 by Mcmarada (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Jenkins

In ci-management/jjb/honeycomb/honeycomb.yaml https://git.fd.io/ci-management/tree/jjb/honeycomb/honeycomb.yaml#n24 - add a new ‘stream’ for your new YYMM (example: for stable/1901:

- '1901':
            branch: 'stable/1901’'
            repo-stream-part: 'stable.1901'

(example https://gerrit.fd.io/r/#/c/16919/2/jjb/honeycomb/honeycomb.yaml).

Cut branch

Create a new branch stable/YYMM (example: stable/1901) in the gerrit web UI against the point on master you wish to be cutting the branch (usually HEAD at the time your cutting).

https://gerrit.fd.io/r/#/admin/projects/honeycomb,branches

Update stable/YYMM branch

On stable/YYMM (example: stable/1707) prepare a commit which updates the .gitreview to reflect the correct branch.

Example: https://gerrit.fd.io/r/#/c/17020/2/.gitreview

Also update <project-branch> in the release notes.

Example: https://gerrit.fd.io/r/#/c/17025/

Updates the maven versions of honeycomb artifacts to x.YY.MM-RC1 (example: 1.19.01-RC1).

Example: https://gerrit.fd.io/r/#/c/17039/

Verify correct jar versions

After merge job for version bump patch is finished, check if artifacts with the correct versions were deployed at:

https://nexus.fd.io/content/repositories/fd.io.release/io/fd/honeycomb/[path to artifact]/

Example: https://nexus.fd.io/content/repositories/fd.io.release/io/fd/honeycomb/common/honeycomb-parent/

Lay RC1 tag

Tag the RC1 bump commit:

git tag v1.19.01-RC1 -m "Honeycomb v1.19.01-RC1"

Verify the tag locally:

git show v1.19.01-RC1

Push the tag to remote repository:

git push origin v1.19.01-RC1

Verify tag was pushed: https://gerrit.fd.io/r/#/admin/projects/honeycomb,tags

Set version back to SNAPSHOT

Set maven versions of honeycomb artifacts back to x.YY.MM-SNAPSHOT (example: 1.19.01-SNAPSHOT) for new development cycle.

Example: https://gerrit.fd.io/r/#/c/17040/

The honeycomb-merge job builds most current version for given branch, so make sure previous step was finished successfully.

Update master branch

On master branch, bump versions of honeycomb artifacts to next version snapshots (example: 1.19.01-SNAPSHOT -> 1.19.04-SNAPSHOT).

Example: https://gerrit.fd.io/r/#/c/17041/

Also create new project version in jira (Honeycomb releases) and update release notes.

Example: https://gerrit.fd.io/r/#/c/17046/

Release final version

Prepare release notes, which should reflect Jira tasks for honeycomb project.

Example: https://gerrit.fd.io/r/#/c/17278/

Bump versions to final version (example: 1.19.01-SNAPSHOT -> 1.19.01).

Example: https://gerrit.fd.io/r/#/c/17280/

Verify correct jar versions

After merge job for version bump patch is finished, check if artifacts with the correct versions (example: 1.19.01) were deployed at:

https://nexus.fd.io/content/repositories/fd.io.release/io/fd/honeycomb/[path to artifact]/

Example: https://nexus.fd.io/content/repositories/fd.io.release/io/fd/honeycomb/common/honeycomb-parent/

Lay Release tag

Tag the RC1 bump commit:

git tag v1.19.01 -m "Honeycomb v1.19.01"

Verify the tag locally:

git show v1.19.01

Push the tag to remote repository:

git push origin v1.19.01

Verify tag was pushed: https://gerrit.fd.io/r/#/admin/projects/honeycomb,tags

Set version back to SNAPSHOT

Bump versions back to Snapshot for next development cycle on stable branch (Example: 1.19.01 -> 1.19.01.1-SNAPSHOT)

Example: https://gerrit.fd.io/r/#/c/17281/