You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 50 Next »

NOTE: WORK IN PROGRESS - update wrt latest Meta-release Milestones ongoing.

This section explains the processes for meta-release planning, milestone scheduling and progress reporting on the planned a meta-release.

Meta-release plan

For each meta-release, a meta-release plan provides the dates and progress of the meta-release. It covers the status of

  • Commonalities and ICM releases
  • The release of the API versions that are planned to be included in the meta-release.

Meta-release schedule

CAMARA meta-releases are scheduled twice per year at approximately 6 month intervals (March and September). 

Meta-releases are named SpringYY or FallYY respectively, where YY is the (short) year number. For example Fall24, Spring25, Fall25, etc.

A meta-release cycle covers 7 milestones, M0 through M6. The below figures provide the typical planning and milestone dates for a Spring or Fall meta-release.

Actual dates for a given meta-release shall be managed on the dedicate meta-release plan which are listed here: CAMARA meta-releases.

Spring meta-release schedule


Fall meta-release schedule


Release contacts 

Meta-releases are administered and tracked by

  • the CAMARA Release Managers, supported by
  • the release contacts of the Commonalities and ICM working groups
  • the release contacts of the API Sub Projects

The API Sub Project teams shall put at least 2 contacts on their API release trackers.

CONTACT LISTS

The contacts for the meta-release working groups can be found here: CAMARA meta-releases

The contacts per API can be found on the meta-release page.

All release contacts need to subscribe to the release management mailing list.

All communication on an ongoing meta-release and its progress will be managed through this mailing list, with in copy the maintainers mailing list (link to be added).

M0 and M5 will be announced on the all@lists.camaraproject.org.

Draft messages for the different announcements are prepared on the following page:  Release Management announcements

Planning and progress reporting on a meta-release

The planning and status of the ongoing meta-release is discussed in the Release Management working group meetings.

The meta-release planning and status is visible on the meta-release plan created for each meta-release. The meta-release progress data is obtained as follows:

  • the Commonalities and ICM data is updated directly on the meta-release plan by the respective teams.
  • the API data is managed by the API Sub Project teams on their API release trackers and pulled into the meta-release plan automatically.

The following actions are requested from the various teams to plan and provide visibility on the progress of a meta-release. They are also listed in the milestone table.

NOTE: in case of differences between this page and the milestone table, or in case of missing points or proposed changes or other feedback, please use the Meta-release feedback page.

Release Management

During the meta-release cycle, the Release Management team actions for progressing the meta-release are the following:

  • Prepare meta-release page: before M0, the Release Management team shall create the meta-release plan (page) under CAMARA meta-releases as follows:
  • Request the TSC to declare the meta-release kick-off.
  • M0
    • Announce the meta-release kick-off on the CAMARA mailing list (all@lists.camaraproject.org). This announcement indicates:
      • the Commonalities and ICM teams to prepare for M1 the scope definition of what they plan to put in the meta-release
      • all API Sub Projects to create the API release tracker for their next planned API version(s) as described here: API release tracking process.
      • the Outreach Committee to start preparation of marketing activities based on information in the meta-release plan
    • Once available, check the final alpha releases PR of Commonalities & ICM and their release asset availability. If OK, submit to TSC for approval.
    • After TSC approval, announce M1 on release management and maintainers mailing lists.
  • M1
    • Check for Commonalities and ICM that all release assets are available in their final release-candidate PRs. 
    • If OK, request TSC to approve creation of the final release-candidate of Commonalities and ICM. 
    • After TSC approval, and update of the meta-release plan with the final release-candidate tags of Commonalities and ICM, announce M2 milestone.
  • M2
    • From M1, for all APIs, once available, check the first API release-candidate PR and, if OK, approve PR. 
    • Announce M3 milestone once all approved API release-candidates have update their API release tracker.
  • M3
    • For all APIs, once available, check final API release-candidate PR and, if OK, approve PR. Approval can start as soon as an API Sub Project indicates "M4: ready for RM" on the API release tracker in the comments field. It is not necessary to wait for the actual M4 date if an API release is ready before.
    • For all APIs, once available, check API public-release PR, and, if OK, ask for formal TSC approval. 
    • Announce M4 milestone when all API public-releases are approved by TSC.
  • M4
    • Check that all API release trackers are updated with their public-release tag for the meta-release.
    • Propose meta-release content to TSC.
    • After TSC approval, publish the meta-release.
    • Announce the M5 meta-release on all@lists.camaraproject.org 
  • M5
    • Review the release process with all teams and identify areas for improvement for the next meta release with all teams. A meta-release feedback page is available to all to add comments, feedback and suggestions for improvement. I
    • Propose improvements for TSC approval to TSC to be implemented for the next meat-release.
    • After TSC approval, announce M6 milestone
  • M6

The actual milestone dates and status shall be updated on the meta-release plan when the milestone is achieved.

Commonalities and ICM

The Commonalities and ICM teams shall respectively update and maintain their information on the meta-release page per the below.

The following explains the fields of the Commonalities and ICM table on the meta-release page:

  • Target version: the public-release version expected to be published as part of the meta-release (latest by M1 but may be put earlier if known).
  • Target scope: link to GitHub issue defining the release scope (as soon as issue is created after M1)
  • M1 date: actual alpha release milestone date - update also the pre-release tag field

  • M2 date: actual release-candidate milestone date - update also the pre-release tag field

  • (Pre)release tag: updated with each new pre-release and at each milestone to point to the latest pre-release tag. Different alpha or release-candidate pre-release tags can be put here for usage by other teams, even if milestones are not yet reached.
  • M5 date: to be updated after TSC approval of the public-release PR for M5 with creation date of the public-release

  • Public-release tag: updated with the public-release tag once available.

The activities of the Commonalities and ICM teams during the release cycle are the following:

  • before M0:
    • Starting from the M2 of the previous meta-release, prepare the scope definition for the upcoming meta-release, and start implementation in one or more alpha releases.
  • M0
    • As soon as possible after M0, fix the scope definition of the release for the meta-release:
      • Record scope in a dedicated GitHub issue, e.g. called "Fall24: Commonalities / ICM scope".
      • Submit scope issue for TSC review
    • Develop final Commonalities & ICM scope through one or more alpha releases
    • Update data in the meta-release plan with each alpha release
    • Create final alpha release PRs and submit to Release Management
    • After TSC approval, create approved final alpha release for Commonalities & ICM
    • Update the meta-release plan with the alpha release tag
  • M1
    • Fix bugs raised by users through one or more release-candidates
    • Update release tracker on meta-release page with each release-candidate
    • Create final release-candidate PR and submit to Release Management for checking
    • After TSC approval:
      • Create the final release-candidate for Commonalities & ICM
      • Update the meta-release page for Commonalities & ICM with release-candidate tag
    • This final release-candidate shall be used by the API Sub Projects to work with for their API release-candidate development.
  • M3 and M4
    • During API development, changes to the final Commonalities or ICM release-candidates may be requested, leading to new release-candidates to be reflected on the meta-release page. Hence the public-release PR of The commonalities and ICM will only be created latest 2 weeks before the M4 date. It will also be used for M5 for inclusion in the meta-release. 
    • Fix bugs raised by API testers through one or more release-candidates
    • Create public-release PR for Commonalities & ICM
    • After Release Management check and TSC approval of the public-release PR
      • Create the public-release
      • Update the meta-release page with public-release tag
  • M5
    • Provide feedback on meta-release
  • M6

API Sub Projects

API Sub Project teams shall create and update the API release tracker for each of their API version(s) as follows: 

  • With each alpha or release-candidate API version, the API version and release tag shall be updated.
  • The actual milestone dates shall be put in the release tracker when the milestone is passed.
  • When M4 is successfully passed, the link to the public-release API package shall be added.

An API version of an API Sub Project should show on the meta-release page as soon as an API release tracker has been created under the API Sub Project's API release tracking page for the API version planned to be released in the meta-release.

  • If an API release is not visible, please check that the correct meta-release label is added to the API release tracker page. 

The following are the actions for milestones:

  • M0
    • follows scope definitions of Commonalities and ICM and assess impact
  • M1
    • Create API release tracking page for the API if it does not yet exist
    • Create API release tracker for the API version to be released
    • Define scope of API release:
      • Record scope in dedicated GitHub issue.
      • Update the release tracker with the scope issue link
    • Develop API scope through one or more alpha release(s)
    • Update the API release tracker with each alpha release
    • Create first release-candidate PR and submit to Release Management
    • After Release Management approval:
      • Create first release-candidate for the API
      • Update the API release tracker with the release-candidate tag
  • M2
    • Assess final impact of Commonalities and ICM scope on API(s)
  • M3
    • Fix bugs raised by API testers through one or more release-candidates
    • Update API release tracker with each release-candidate
    • Submit final release-candidate PR to Release Management for checking
    • After final release-candidate PR approval by Release Management:
      • Create final release-candidate and update API release tracker
      • Create API public-release PR
    • After TSC approval of the PR
      • Create public-release
      • Update the API release tracker with public-release tag
  • M4
    • N/A
  • M5
    • Provide feedback on meta-release
  • M6

TSC

  • M0: Declare meta-release kickoff
    • Approve Commonalities and ICM scope
    • Approve final alpha release PRs of Commonalities & ICM
  • M1
    • Approve final release-candidate PRs of Commonalities & ICM
  • M2
    • Reviewing scope of selected APIs (case by case selection)
  • M3
    • Formal approval of the Commonalities & ICM public-release PRs
    • Formal approval API public-release PRs
  • M4
    • Meta-release approval
  • M5
    • Provide feedback on meta-release
    • Meta-release improvements approval
  • M6


Release milestone status

The milestone status values on the meta-release pages are managed by the Release Management team and shall have values defined as follows:

MilestoneBefore M dataAfter M date
M0kick-off preparationkick-off done
M1alpha PRalpha for M2
M2release-candidate PRrelease-candidate for M5
M3API first release-candidate PRAPI first release-candidate for M4
M4

API final release-candidate API PR

API public-release PR

API final release-candidate API

API public-release for M5

M5meta-release preparationmeta-release published
M6retrospective preparationretrospective done
  • No labels