Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: add nexus steps

DRAFT under edition

ONAP Versioning Strategy

Objective

...

The version strategy handles version selection of ONAP artifacts such as repos and containers as well as cross component APIs.

...

Semantic Versioning

All versioning uses a semantic versioning approach. In particular:

...

Versioning of Repos

Each project will decide team decides on when version numbers of repos under it’s control are incremented and artifacts are place in a Nexus release branchrepository. In particular the version numbers do not have to be in sync across projects and do not have to be aligned with the release version number.

ONAP has 2 levels of artifacts:

  1. Artifact Release: this refers to all the jar and docker files that are under the control of a project. No TSC approval is necessary for the team to move artifacts within Nexus Release
  2. Named Release: this refers to the Marketing name that is used externally to evangelize ONAP. The "Named Release" is a collection of properly versioned "Artifact Release". The "Named Release" required TSC approval and is published within Docker Hub.

Nexus

ONAP is using Nexus in 3 steps:

  1. Snapshot: used for merged artifacts. After the committer has performed code review (+2), merged the code and the build is successful, artifact are within Snapshot. It is expected to have multiple snapshot for a single repo per day. All artifacts have same version number. The artifact triggers CSIT testing.
  2. Staging: used for Release candidate. Once a day, a new clean build is automatically performed. All artifacts have same version number. The Staging artifact is used for the E2E Release testing.
  3. Release: this is the place where the project team (or Linux Fondation Releng Team) stores the artifacts that are deemed stabled for being consumed by the other project teams. Each team decides when to release. It is not expected to get a new release every day. No TSC approval is required for getting a new release artifact.

ONAP Release Versioning

The O-Parent file tracks the version of all ONAP artifacts. All projects with dependencies to other repos are required to use the version exposed in the O-Parent file to reference the other repos.

...