Difference between revisions of "Honeycomb/BranchCutting"
m (→Update stable/YYMM branch) |
|||
(8 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
In ci-management/jjb/honeycomb/honeycomb.yaml | 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/ | + | https://git.fd.io/ci-management/tree/jjb/honeycomb/honeycomb.yaml#n24 - add a new ‘stream’ for your new YYMM (example: for stable/1901: |
<pre> | <pre> | ||
− | - ' | + | - '1901': |
− | branch: 'stable/ | + | branch: 'stable/1901’' |
− | repo-stream-part: 'stable. | + | repo-stream-part: 'stable.1901' |
</pre> | </pre> | ||
− | (example https://gerrit.fd.io/r/#/c/ | + | (example https://gerrit.fd.io/r/#/c/16919/2/jjb/honeycomb/honeycomb.yaml). |
== Cut branch == | == Cut branch == | ||
− | Create a new branch stable/YYMM (example: stable/ | + | 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 | https://gerrit.fd.io/r/#/admin/projects/honeycomb,branches | ||
Line 21: | Line 21: | ||
On stable/YYMM (example: stable/1707) prepare a commit which updates the .gitreview to reflect the correct 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/ | + | Example: https://gerrit.fd.io/r/#/c/17020/2/.gitreview |
Also update <project-branch> in the release notes. | Also update <project-branch> in the release notes. | ||
− | + | Example: https://gerrit.fd.io/r/#/c/17025/ | |
− | Example: | + | 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 === | === Verify correct jar versions === | ||
Line 41: | Line 43: | ||
<pre> | <pre> | ||
− | git tag v1. | + | git tag v1.19.01-RC1 -m "Honeycomb v1.19.01-RC1" |
</pre> | </pre> | ||
Line 47: | Line 49: | ||
<pre> | <pre> | ||
− | git show v1. | + | git show v1.19.01-RC1 |
</pre> | </pre> | ||
Line 53: | Line 55: | ||
<pre> | <pre> | ||
− | git push origin v1. | + | git push origin v1.19.01-RC1 |
</pre> | </pre> | ||
Line 61: | Line 63: | ||
=== Set version back to SNAPSHOT === | === Set version back to SNAPSHOT === | ||
− | Set maven versions of honeycomb artifacts back to x.YY.MM-SNAPSHOT (example: 1. | + | Set maven versions of honeycomb artifacts back to x.YY.MM-SNAPSHOT (example: 1.19.01-SNAPSHOT) |
for new development cycle. | for new development cycle. | ||
− | Example: https://gerrit.fd.io/r/#/c/ | + | Example: https://gerrit.fd.io/r/#/c/17040/ |
The honeycomb-merge job builds most current version for given branch, | The honeycomb-merge job builds most current version for given branch, | ||
Line 71: | Line 73: | ||
== Update master branch == | == Update master branch == | ||
− | On master branch, bump versions of honeycomb artifacts to next version snapshots (example: 1. | + | 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/ | + | Example: https://gerrit.fd.io/r/#/c/17041/ |
+ | |||
+ | Also create new project version in jira ([https://jira.fd.io/projects/HONEYCOMB?selectedItem=com.atlassian.jira.jira-projects-plugin%3Arelease-page&status=released-unreleased 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: | ||
+ | |||
+ | <pre> | ||
+ | git tag v1.19.01 -m "Honeycomb v1.19.01" | ||
+ | </pre> | ||
+ | |||
+ | Verify the tag locally: | ||
+ | |||
+ | <pre> | ||
+ | git show v1.19.01 | ||
+ | </pre> | ||
+ | |||
+ | Push the tag to remote repository: | ||
+ | |||
+ | <pre> | ||
+ | git push origin v1.19.01 | ||
+ | </pre> | ||
+ | |||
+ | 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/ | + | Example: https://gerrit.fd.io/r/#/c/17281/ |
Latest revision as of 08:23, 4 February 2019
Contents
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/