**2023-03-06: This is currently a draft proposal. ** # Background VPP CI jobs build VPP debian packages for each OS / Architecture variant supported in a given VPP Release Cycle. These packages are uploaded by VPP CI jobs on [jenkins.fd.io](https://jenkins.fd.io)] to the respective artifact repositories on [packagecloud.io/fdio](https://packagecloud.io/fdio). ## VPP Source Code Repository Branch Support The [VPP git repository](https://git.fd.io/vpp/) contains the source code history of all VPP releases. The VPP community supports the current release in progress contained in the branch, [master](https://git.fd.io/vpp/log/?h=master), and the previous 2 releases which are contained on stable/ branches (e.g. master (v23.06-rc0), stable/23.02, stable/22.10). VPP CI jobs are deprecated for unsupported release branches, thus once a release is no longer supported, the associated CI jobs are removed from jenkins.fd.io and the ability of recreating old build artifacts or creating any new artifacts for them. ## VPP Pre-Release Artifacts The VPP branch, [master](https://git.fd.io/vpp/log/?h=master), contains the source code for pre-release artifacts produced by 'master' branch CI jobs during the RC0 release phase. VPP pre-release build artifacts are consumed by CSIT CI jobs to verify VPP functionality on a per-patch basis and performance metrics on a periodic trending basis. The VPP [master](https://git.fd.io/vpp/log/?h=master) branch is tagged to identify the packagecloud pre-release repository to which build artifacts are pushed by the CI jobs. For example, at the beginning of the VPP 23.02 release cycle, the VPP master branch was tagged with [v23.02-rc0](https://git.fd.io/vpp/tag/?h=v23.02-rc0) and the packagecloud artifact repository, [packagecloud.io/fdio/2302](https://packagecloud.io/fdio/2302), was created by the VPP Release Manager. All VPP 23.02 pre-release artifacts were pushed to [packagecloud.io/fdio/2302](https://packagecloud.io/fdio/2302) throughout the release cycle. At the RC1 milestone, a stable/ branch is created on the VPP repo along with release specific CI jobs that continue to produce VPP pre-release artifacts using the stable/ VPP branch to the same packagecloud pre-release repository. As in the previous example, VPP 23.02 pre-release artifacts built using the VPP branch, [stable/2302](https://git.fd.io/vpp/log/?h=stable/2302), were pushed to [packagecloud.io/fdio/2302](https://packagecloud.io/fdio/2302). The RC1 milestone also marks the beginning of the next release cycle and the VPP Release Manager applies a new rc0 tag to the master branch for the next release. ## VPP Release Artifacts The VPP release artifacts are used to produce more comprehensive test results which are published in a CSIT Release Report for each VPP release. During the release process, release artifacts are named for the release, then after testing are moved to [packagecloud.io/fdio/release](https://packagcloud.io/fdio/release). The release artifacts are used by the CSIT project to generate a report providing comprehensive test data / analysis of the VPP release packages. The release packages are also intended to provide newcombers to FD.io a painless means of installing VPP for evaluation. # VPP Build Artifact Retention Policy Statement VPP build pre-release and release artifacts will only be retained in packagecloud.io/fdio pre-release and release repositories for those releases which are actively supported. Once a stable release branch becomes unsupported, all of the build artifacts in the packagecloud pre-release artifact repository will be moved to the Packagecloud 'recycle bin' repository, [packagecloud.io/fdio/attic](https://packagecloud.io/fdio/attic), then subsequently deleted during the next post-release clean up process.