## 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/](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](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/](https://gerrit.fd.io/r/#/c/17047/) Also update in the release notes Example: [https://gerrit.fd.io/r/#/c/17048/](https://gerrit.fd.io/r/#/c/17048/) and RPM/DEB release to RC1~$BUILD_NUMBER. Example: [https://gerrit.fd.io/r/#/c/17050/](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). And don't forget to update csit-test-branch (rls1901 in example). Example: [https://gerrit.fd.io/r/#/c/17052/](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/](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/](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/](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/](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/](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/](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](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/17066/](https://gerrit.fd.io/r/#/c/17066/) 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.19.04-SNAPSHOT). Remember to also update versions in package scripts (files: prepare.sh, rpmbuild.sh and version). Example: [https://gerrit.fd.io/r/#/c/17056/](https://gerrit.fd.io/r/#/c/17056/) ### Create new project version in jira Hc2vpp releases and update release notes Example: [https://gerrit.fd.io/r/#/c/17067/](https://gerrit.fd.io/r/#/c/17067/) ### Bump jvpp version Example: [https://gerrit.fd.io/r/17068](https://gerrit.fd.io/r/17068) ## Hc2vpp release procedure Release procedure is similar to the steps for releasing RC1: 1. Update release notes (1901 example: [https://gerrit.fd.io/r/#/c/17282/](https://gerrit.fd.io/r/#/c/17282/)). 2. Set JVPP version to release version(1901 example: [https://gerrit.fd.io/r/#/c/17284/](https://gerrit.fd.io/r/#/c/17284/)). 3. Release hc2vpp (1901 example: [https://gerrit.fd.io/r/#/c/17289/](https://gerrit.fd.io/r/#/c/17289/): poms + packaging/rpm/hc2vpp_version, packaging/rpm/release, vpp-version and jvpp-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 [email protected] to copy artifacts from stable repos to release repos. 6. Lay tag: ``` git tag v1.19.01 -m "Hc2vpp v1.19.01" git push origin v1.19.01 ``` 1. Bump hc2vpp version to .1 SNAPSHOT (1.19.01.1 example: [https://gerrit.fd.io/r/#/c/17298/](https://gerrit.fd.io/r/#/c/17298/): poms + packaging/deb/common/prepare.sh, packaging/rpm/hc2vpp_version, packaging/rpm/release, packaging/rpm/version, vpp-version and jvpp-version files).