Difference between revisions of "Archived-Hc2vpp/BranchCutting"

From fd.io
Jump to: navigation, search
(Cut branch)
(Update stable/YYMM branch)
Line 19: Line 19:
 
== Update stable/YYMM branch ==
 
== Update stable/YYMM branch ==
  
On stable/YYMM (example: stable/1807) prepare a commit which updates the .gitreview to reflect the correct branch.
+
On stable/YYMM (example: stable/1901) prepare a commit which updates the .gitreview to reflect the correct branch.
 +
 
 +
Example: https://gerrit.fd.io/r/#/c/17047/
 +
 
 
Also update <project-branch> in the release notes
 
Also update <project-branch> in the release notes
and RPM/DEB release to RC1~$BUILD_NUMBER.
 
  
Example:
+
Example: https://gerrit.fd.io/r/#/c/17048/
 +
 
 +
and RPM/DEB release to RC1~$BUILD_NUMBER.
  
https://gerrit.fd.io/r/#/c/11621/
+
Example: https://gerrit.fd.io/r/#/c/17050/
  
Update the maven versions of hc2vpp artifacts to x.YY.MM-RC1 (example: 1.17.07-RC1).
+
Update the maven versions of hc2vpp artifacts to x.YY.MM-RC1 (example: 1.19.01-RC1).
  
 
Remember to also update versions in package scripts (files: prepare.sh, release, rpmbuild.sh and honeycomb.spec).
 
Remember to also update versions in package scripts (files: prepare.sh, release, rpmbuild.sh and honeycomb.spec).
  
Example: https://gerrit.fd.io/r/#/c/7458/
+
Example: https://gerrit.fd.io/r/#/c/17052/
  
 
=== Verify correct artifact versions ===
 
=== Verify correct artifact versions ===
Line 41: Line 45:
 
https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.centos7/io/fd/hc2vpp/honeycomb/
 
https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.centos7/io/fd/hc2vpp/honeycomb/
  
Example: https://nexus.fd.io/content/repositories/fd.io.stable.1707.centos7/io/fd/hc2vpp/honeycomb/
+
Example: https://nexus.fd.io/content/repositories/fd.io.stable.1901.centos7/io/fd/hc2vpp/honeycomb/
  
 
* DEBs with the correct versions were deployed at
 
* DEBs with the correct versions were deployed at
Line 47: Line 51:
 
https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.ubuntu.xenial.main/io/fd/hc2vpp/honeycomb/
 
https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.ubuntu.xenial.main/io/fd/hc2vpp/honeycomb/
  
Example: https://nexus.fd.io/content/repositories/fd.io.stable.1707.ubuntu.xenial.main/io/fd/hc2vpp/honeycomb/
+
Example: https://nexus.fd.io/content/repositories/fd.io.stable.1901.ubuntu.xenial.main/io/fd/hc2vpp/honeycomb/
  
 
* JARs with the correct versions were deployed at:
 
* JARs with the correct versions were deployed at:
Line 59: Line 63:
  
 
<pre>
 
<pre>
git tag v1.17.07-RC1 -m "Hc2vpp v1.17.07-RC1"
+
git tag v1.19.01-RC1 -m "Hc2vpp v1.19.01-RC1"
 
</pre>
 
</pre>
  
Line 65: Line 69:
  
 
<pre>
 
<pre>
git show v1.17.07-RC1
+
git show v1.19.01-RC1
 
</pre>
 
</pre>
  
Line 71: Line 75:
  
 
<pre>
 
<pre>
git push origin v1.17.07-RC1
+
git push origin v1.19.01-RC1
 
</pre>
 
</pre>
  
Line 79: Line 83:
 
=== Set version back to SNAPSHOT ===
 
=== Set version back to SNAPSHOT ===
  
Set maven versions of hc2vpp artifacts back to x.YY.MM-SNAPSHOT (example: 1.17.07-SNAPSHOT)
+
Set maven versions of hc2vpp artifacts back to x.YY.MM-SNAPSHOT (example: 1.19.01-SNAPSHOT)
 
for new development cycle.
 
for new development cycle.
  

Revision as of 12:08, 24 January 2019

Jenkins

In jjb/hc2vpp/hc2vpp-csit.yaml and jjb/hc2vpp/hc2vpp.yaml 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/).

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/hc2vpp,branches

Update stable/YYMM branch

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

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

Also update <project-branch> in the release notes

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

and RPM/DEB release to RC1~$BUILD_NUMBER.

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

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

Remember to also update versions in package scripts (files: prepare.sh, release, rpmbuild.sh and honeycomb.spec).

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

Verify correct artifact versions

After integration job for version bump patch is finished, check if

  • RPMs with the correct versions were deployed at:

https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.centos7/io/fd/hc2vpp/honeycomb/

Example: https://nexus.fd.io/content/repositories/fd.io.stable.1901.centos7/io/fd/hc2vpp/honeycomb/

  • DEBs with the correct versions were deployed at

https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.ubuntu.xenial.main/io/fd/hc2vpp/honeycomb/

Example: https://nexus.fd.io/content/repositories/fd.io.stable.1901.ubuntu.xenial.main/io/fd/hc2vpp/honeycomb/

  • JARs with the correct versions were deployed at:

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

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

Lay RC1 tag

Tag the RC1 bump commit:

git tag v1.19.01-RC1 -m "Hc2vpp 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/hc2vpp,tags

Set version back to SNAPSHOT

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

Example (revert of RC1 bump): https://gerrit.fd.io/r/#/c/7461

Make sure previous step was finished successfully before submitting the patch.

Update master branch

On master branch, bump versions of hc2vpp artifacts to next version snapshots (example: 1.17.10-SNAPSHOT).

Remember to also update versions in package scripts (files: prepare.sh, rpmbuild.sh and version).

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

Create new project version in jira and update release notes

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

Bump jvpp version

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

Hc2vpp release procedure

Release procedure is similar to the steps for releasing RC1:

  1. Set JVPP version to release version(1804 example: https://gerrit.fd.io/r/#/c/12156/).
  2. Update release notes (1804 example: https://gerrit.fd.io/r/#/c/12284/).
  3. Release hc2vpp (1804 example: https://gerrit.fd.io/r/#/c/12286/: poms + packaging/rpm/hc2vpp_version, packaging/rpm/release and vpp-version files). Make sure vpp_dependencies files DOES NOT specify single VPP version (would make hc2vpp point releeases required for every vpp point release).
  4. Verify there are no issues with the artifacts in the stable repo.
  5. Ask helpdesk@fd.io to copy artifacts from stable repos to release repos.
  6. Lay tag:
git tag v1.18.04 -m "Hc2vpp v1.18.04"
git push origin v1.18.04
  1. Bump hc2vpp version to .1 SNAPSHOT (1804 example: https://gerrit.fd.io/r/#/c/12287/: poms + packaging/deb/common/prepare.sh, packaging/rpm/hc2vpp_version, packaging/rpm/release, packaging/rpm/version and vpp-version files).