CAMARA release management process requires each API Sub Project to plan and track their API releases so that the meta-release can be planned.

For each API version that is planned to be released by an API Sub Project, an API release tracker needs to be created to track its planning and progress through the release process.

The following sections provide the details.

Sub Project API release tracking (umbrella page)

All API release trackers are located under the release tracking page of the API Sub Project (note: that page title has "tracking", not "tracker" which is only for one API version !). 

The API release tracking page is the place where an API Sub Project documents the releases of all its API version(s). 

This umbrella page has been created in all Sub Project wikis under the home page. (It is part of the Sub Project creation template).

If the page is missing, either contact the CAMARA Confluence support team, or you can create it manually as follows: 

  • Go to the following page <API Sub Project name> API Release Tracking, and create a copy indicating your API Sub Project home page as the target parent page. 
  • Replace the <API name> in the copied page title with the API repository name.

The is the umbrella page under which all API release trackers of the API Sub Project will be hosted.

Examples

The following are examples of API Sub Projects with their umbrella release tracking page and sample API release trackers:

Create an API release tracker for an API versions

For each new release of an API version (e.g. at M0), a dedicated API release tracker (page) is created to plan and track the progress of the release of that API version.

To create an API release tracker, go to your API Sub project's release tracking page (as described in the previous section) and do the following:

  • Push the "Add API release tracker" button to create the tracker page for the new API version to be released.
  • In the page title, put the <API name> and a "v" followed by the <Target version> as described in the below table, e.g. geofencing v1.0.0
  • Complete the table on the page following the indications in the table below. PLEASE DO NOT CHANGE THE FIRST COLUMN.
  • If planned for meta-release, add the meta-release label to the page (e.g. camara-fall24)
  • Maintain the page up-to-date to reflect the progress of the API version through the release process.

NOTE: The API release tracker is a normal confluence page. The API Sub Project can add any additional information about the API version as they see useful.

API release tracker content

Each API release tracker has the below table that serves as the source for tracking progress of the release of the API version.

In particular, this content is pulled into the meta-release planning page (based on the page meta-release label).

IMPORTANT

The left column of this table shall not be changed. If you want to add a new field, please contact the release management team through the mailing list to request the addition of the field and the reason to add it. Adding a field will require a manual update to ALL release tracker pages.

Explanations:

Meta-release

The name of the meta-release, e.g. Fall24. Put N/A if the API version is planned to be an initial public release only outside of the meta-release.

API name

The API name. See the definition of API name on this page: 20240624 update - API Release Process, e.g. geofencing
GroupThe name of the GitHub repository for the API Sub Project, e.g. DeviceLocation 
RepositoryThe shortened link to GitHub repository for the API Sub Project, e.g. DeviceLocation 
Target versionThe API version that you plan to publish in the indicated meta-release, e.g. 1.0.0
Target scopeThe shortened link to a GitHub issue called "Scope for target version" which needs to be created latest at M1 and resolved by M3 e.g. DeviceLocation/issues/58
Target maturityIndicates the maturity of the API version that is targeted in the upcoming meta-release: choose one of initial / stable.
Readiness checklistThe shortened link to the API readiness checklist for the API. The template of the checklist can be found here: (link to release management repo tbd)
M3 dateThe date when the first release-candidate API version is ready. This is the starting point for creating the final release-candidate API version for M4. After this date, only bug fixes and necessary non-breaking changes can be made to the API. Format is yyyy-mm-dd
M4 dateThe date when the final release-candidate API version for M5 submission is ready. This is the starting point for creating the public-release API version for M5. Once this date is provided by the API project team, the Release Management team can check the release-candidate API version for acceptance and submit to the TSC for approval. Format is yyyy-mm-dd
API versionThe version of the latest pre-release (alpha or release-candidate) API version to be updated at M3 and M4 date, e.g. 0.2.0_alpha.3, 0.10.0-rc.2, 0.10.1, 1.0.0-rc.5)
pre-release tagThe shortened release tag of the latest pre-release (alpha or release-candidate) for the API version e.g. QualityOnDemand/releases/tag/r0.10
M5 date

The date by which the Release Management team has checked the release-candidate API version provided at the M4 date and the API is approved by the TSC.

The link to the PR for public-release API version shall be included in this field when available 

After this date, if approval is obtained, the API Sub Project shall commit the PR of the public-release API version and its release assets for use in the meta-release. Format is yyyy-mm-dd. 

The link to the PR shall be removed after the commit is done.

public-release tagThe shortened release tag of the public API version. This field is updated once the public release has been created, e.g.  QualityOnDemand/releases/tag/r1.0 
Comments

Field for exchanging information with RM team, for example 

M1: Commonalities/ICM alpha ready for approval / approval by TSC

M2: Commonalities/ICM rc ready for approval / approved by TSC

M3: alpha ready for / approved by RM

M3: checked by RM - NOK - missing sunny test cases

M4: ready for RM

M4: ready for RM / ready for approval by TSC / approved by TSC

M5: public-release done

M5: API version retirement planned by yyyy-mm-dd.

Contacts

Contact names for the API release: name1 @name2


NOTE: For Confluence administrators only: the content for the Confluence template is here: Use by RM admins only: Content for API release tracker template (v4).



  • No labels