Difference between revisions of "JVPP/BranchCutting"

From fd.io
Jump to: navigation, search
Line 132: Line 132:
 
== JVPP release procedure ==
 
== JVPP release procedure ==
  
TODO
+
=== Prepare release notes patch ===
 +
 
 +
Prepare patch with updated release notes based on JVPP Jira issues planned for this release.(example 1904 release notes - https://wiki.fd.io/view/JVPP/Release_Plans/Release_Plan_19.04)
 +
 
 +
Example: https://gerrit.fd.io/r/#/c/18965/
 +
 
 +
After merge is done verify artifacts.
 +
 
 +
=== Tag stable branch with release tag ===
 +
 
 +
Tag release notes patch on stable branch  (example for 1904):
 +
<pre>
 +
git tag 19.04 -m "JVPP version 19.04"
 +
</pre>
 +
 
 +
verify tag:
 +
<pre>
 +
git show 19.04
 +
</pre>
 +
 
 +
Push the tag to remote repository:
 +
<pre>
 +
git push origin 19.04
 +
</pre>
 +
 
 +
Once tagged start new build. Add comment "remerge" to release notes patch. Verify the build, artifacts and packages.

Revision as of 06:44, 29 April 2019

Jenkins

In jjb/jvpp/jvpp.yaml add a new ‘stream’ for your new YYMM (example: for stable/1904):

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

(example: https://gerrit.fd.io/r/#/c/18959/).

Cut branch

Create a new branch stable/YYMM (example: stable/1904) 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/jvpp,branches

Prepare initial commit for stable/YYMM branch

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

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

Tag initial commit on stable branch (example for stable/1904):

git tag 19.04-rc1 -m "JVPP version 19.04 (RC1)"

verify tag:

git show 19.04-rc1

Push the tag to remote repository:

git push origin 19.04-rc1

Verify tag remotely (https://gerrit.fd.io/r/#/admin/projects/jvpp,tags)

Update release notes for the stable branch

Update release notes in documentation based on Jira tickets.

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

Verify correct artifact versions

After merge job for initial patch and release notes patch are finished, check if

  • RPMs with the correct versions were deployed at:

https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.centos7/io/fd/jvpp/vpp-api-java/

Example: https://nexus.fd.io/content/repositories/fd.io.stable.1904.centos7/io/fd/jvpp/vpp-api-java/

  • DEBs (xenial/bionic) with the correct versions were deployed at

https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.ubuntu.xenial.main/io/fd/jvpp/vpp-api-java/ https://nexus.fd.io/content/repositories/fd.io.stable.YYMM.ubuntu.bionic.main/io/fd/jvpp/vpp-api-java/

Example: https://nexus.fd.io/content/repositories/fd.io.stable.1904.ubuntu.xenial.main/io/fd/jvpp/vpp-api-java/ https://nexus.fd.io/content/repositories/fd.io.stable.1904.ubuntu.bionic.main/io/fd/jvpp/vpp-api-java/

  • JARs with the correct versions were deployed at:

after brach cut: https://nexus.fd.io/content/repositories/fd.io.snapshot/io/fd/jvpp/[path to artifact]/

after release in: https://nexus.fd.io/content/repositories/fd.io.release/io/fd/jvpp/[path to artifact]/

Example: https://nexus.fd.io/content/repositories/fd.io.snapshot/io/fd/jvpp/jvpp-core/19.04-SNAPSHOT/

Verify packages on Package cloud

https://packagecloud.io/app/fdio/YYMM/search?q=vpp-api-java

Example: https://packagecloud.io/app/fdio/1904/search?q=vpp-api-java

Update master branch

Create new project version in jira:

JVPP releases

On Master branch prepare initial commit for next release (example 1908)

- cherry pick release notes changes from last stable release
- update release notes documentation, add placeholder for next stable version.

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

Tag master branch with new tag for next release cycle

Tag initial commit on master branch (example for 1908):

git tag 19.08-rc0 -m "JVPP version 19.08 (RC0)"

verify tag:

git show 19.08-rc0

Push the tag to remote repository:

git push origin 19.08-rc0

Verify correct artifact versions

After merge job for initial patch is finished, check if

  • RPMs with the correct versions were deployed at:

https://nexus.fd.io/content/repositories/fd.io.master.centos7/io/fd/jvpp/vpp-api-java/

  • DEBs (xenial/bionic) with the correct versions were deployed at

https://nexus.fd.io/content/repositories/fd.io.master.ubuntu.xenial.main/io/fd/jvpp/vpp-api-java/ https://nexus.fd.io/content/repositories/fd.io.master.ubuntu.bionic.main/io/fd/jvpp/vpp-api-java/

  • JARs with the correct versions were deployed at:

after brach cut: https://nexus.fd.io/content/repositories/fd.io.snapshot/io/fd/jvpp/[path to artifact]/

Example: https://nexus.fd.io/content/repositories/fd.io.snapshot/io/fd/jvpp/jvpp-core/19.08-SNAPSHOT/

Verify packages on Package cloud

https://packagecloud.io/app/fdio/master/search?q=vpp-api-java

JVPP release procedure

Prepare release notes patch

Prepare patch with updated release notes based on JVPP Jira issues planned for this release.(example 1904 release notes - https://wiki.fd.io/view/JVPP/Release_Plans/Release_Plan_19.04)

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

After merge is done verify artifacts.

Tag stable branch with release tag

Tag release notes patch on stable branch (example for 1904):

git tag 19.04 -m "JVPP version 19.04"

verify tag:

git show 19.04

Push the tag to remote repository:

git push origin 19.04

Once tagged start new build. Add comment "remerge" to release notes patch. Verify the build, artifacts and packages.