Table of Contents |
---|
...
- No cross-project SNAPSHOT dependencies
- Teams to version and release their own artifacts on their own schedule
- Version numbers should conform to the Semantic Versioning 2.0.0 Specification
- ONAP community "simultaneous release" is composed of a collection of artifact versions defined in a "version manifest" in source control
- Teams to declare and update the “correct version” for cross-project use and for inclusion in simultaneous release
- Manifests located in integration repo: https://git.onap.org/integration/tree/version-manifest/src/main/resources
- TSC to approve version manifest for simultaneous release, e.g. Amsterdam
- ONAP Version Manifest Maven Plugin (Decommissioned) to check against outdated dependencies vs. the manifest
- Teams to version bump their dependencies per their convenience
...
- Ensure that your artifacts inherit from O-Parent (oparent)
- If not possible, please maintain your own implementations of the various configurations and checks provided by oparent
- Remove all external SNAPSHOT dependencies
- External = cross-project (including oparent) or 3rd party
- Check version manifest at https://git.onap.org/integration/tree/version-manifest/src/main/resources for the right version to use for your cross-project dependencies
The Integration team is providing a Maven plugin to warn you of outdated references: ONAP Version Manifest Maven Plugin (Decommissioned). To use it, run the following command:
Code Block mvn org.onap.integration:version-manifest:version-check
- If your upstream cross-project dependencies haven't entered their artifacts in the manifest above, please contact the respective project team to get them to version/release their artifacts and add their entries to the manifest
- Remove ecomp-staging Nexus repo from your local ~/.m2/settings.xml repositories list; all release-versioned artifact dependencies should be fulfilled from the ecomp-releases repo only going forward
- Set up -release-version jobs (staging jobs) to deploy candidate artifacts to Staging
- Generates candidate “autorelease-xxxx” directories in Nexus
- Ensure that your version.properties file has the right version number defined for the intended release
- Ensure that the staging jobs above have completed and generated candidate artifacts
- Perform any necessary testing against the candidate artifacts
- Email helpdesk@onap.org to select a candidate as formal release artifact
- Specify the specific Jenkins build job that generated the selected candidate build, e.g. https://jenkins.onap.org/view/oparent/job/oparent-master-release-version-java-daily/16/
- LF will GPG sign and release the artifacts to Releases repo
- LF will place a GPG signed tag on the specific commit in Gerrit repo
- Update the declared version numbers for your respective artifacts in the java version manifest: https://git.onap.org/integration/tree/version-manifest/src/main/resources/java-manifest.csv
- Update the CHANGELOG to describe the changes that were part of this release
- TBD: CHANGELOG structure and update process is being developed by the Documentation project
- Bump your own version numbers for ongoing development
- SNAPSHOT versions in pom.xml
- Staging/Release version in version.properties
...
What do we Need stanardardized Docker format
As Docker Snapshot is a cumulative repository, given a version, a keyword and the name of an image, the need is a systematic method to sort chronologically images based on Nexus version field.
This will help to community in providing an automated deployment using tag sets on a standard format.
Proposal
The proposed docker tag format to align across all the teams is the following:
...
observation
- teams only have visibility on changes marked in the manifest file - not "in-development" merges
- we will likely need to group commits under test (lack of resources) - developers will need to triage together a test set that marked (n) commits in a timeframe as breaking CD
-