Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Table of Contents

Meta-release

...

introduction

For each A CAMARA meta-release , a meta-release plan provides the dates and progress of the is the way CAMARA brings its APIs to market.

A meta-release consists of a set of public releases of curated APIs that applied the CAMARA meta-release . It covers the status of

...

process.

The

...

purpose of this section is to define

  • the milestones of the meta-release.

...

  • the supporting meta-release process with the detailed activities expected from the different teams
  • the way to track progress of the Commonalities and ICM releases, the API releases, and the meta-release itself

Meta-release

...

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.

The typical meta-release schedule for Spring and Fall meta-releases are depicted in the below figures. NOTE: Actual dates for a given meta-release shall be managed on the dedicate meta-release plan which are listed here: CAMARA meta-releases.

Image Removed

...

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.

The list of meta-release plans (or meta-releases for short), whether ongoing, planned or published, can be found here: CAMARA meta-releases.

Meta-release milestones

Meta-release milestones and their associated actions are used to progress and track the status of a meta-release. 

  • A meta-release has 6 milestones, M0 through M6 described below. 
  • For the typical milestone dates of a meta-release, please see the meta-release schedule section below.

All CAMARA teams play their part in the meta-release process. The below table provides, between the milestones, an overview of the activities expected from the various teams to reach these milestones. 

More details on these activities for each team are documented in the section on planning and progress tracking for a meta-release. 

Details on releasing an API version and the related API versioning are described here: API Release Process


Milestone / start date

Actors & Activities for next milestone

Timeline

Week Nr

pre-M0 activities
  • Release Management: prepare meta-release plan
  • Commonalities & ICM: define scope and start alpha release development
  • TSC: declare M0 - meta-release kickoff


M0 

Meta-release kickoff

M00
activities for M1 start @ M0
  • Commonalities & ICM: fix scope and develop final alpha release for M1
  • API Sub Groups: check Commonalities and ICM scope definition to assess API impact
  • TSC: approve Commonalities and ICM scope and final alpha release
  • Release Management: Declare M1 - Commonalities and ICM alpha release available
2 weeks

M1

Alpha release Commonalities & ICMM0 + 2 weeks2
activities for M2 start @ M1
  • API Sub Groups: align to Commonalities and ICM alpha release and provide feedback
  • Commonalities & ICM: Fix bugs and prepare final release candidate for M2
  • TSC: approve Commonalities and ICM final release candidate
  • Release Management; declare M2 - Commonalities and ICM release candidate available
7 weeks

M2

Release candidate Commonalities & ICMM1 + 7 weeks9
activities for M3 start @ M1
  • API Sub Projects: prepare API scope and develop alpha releases, ending by the first release candidate for M3
  • TSC: review scope of APIs (case by case selection)
  • Release Management: check API readiness of each API and declare M3 - all API first release candidates available
9 weeks

M3

Release candidates for APIs (Code Freeze)

M1 + 9 weeks

9
activities for M4 start @ M3
  • API Sub Projects: fix bugs and prepare public release
  • Commonalities & ICM: prepare public release
  • Release Management: check API readiness of each API and declare M4 - all API public releases available
  • TSC: give formal approval of Commonalities, ICM and API (case-by-case) public releases
9 weeks

M4

Public releases of APIs

M3 + 9 weeks

18

activities for M5 starts @ public release PR for an API

  • Release Management: prepare and declare M5 - meta-release availability
  • TSC: approve meta-release for M5
2 weeks

M5

Meta-releaseM4 + 2 weeks20
activities for M6 start @ M5
  • Commonalities & ICM: assess meta-release and provide feedback
  • API Sub Groups: assess meta-release and provide feedback
  • Release Management: assess meta-release, create improvement plan and declare M6 - post-release assessment available
  • TSC: approve improvement plan for M6
2 weeks

M6

Post Meta-release AssessmentM5 + 2 weeks24

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.

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

The "typical" meta-release schedule for Spring and Fall meta-releases are depicted in the below figures. NOTE: Actual dates for a given meta-release shall be managed on the dedicated meta-release plans which are listed here: CAMARA meta-releases.


Plantumlcloud
filenamePlantUML Diagram 1.svg
datalZTLboMwEEW/pQsvIxkPj3ZJKUiRihK13VcOuMEVYAROH3/fcSAtcYigkmUZ6/qeGc9g4tJO81YfqpLQsJC5IIy+KaV36gtXuNdlvDSbLKA4F0LuC43b/bghzI02j5un12iTpusoNWfgwcyMEQaUemGSmPVYG27Xlg6CKArA1qXxS2gJS4Pft/y71+JoMHqZyYbXGlWpCZJ3gx6iHYEY97yoHj7oHWEJ9G70nHTh5Zx7ZapULQEMCT4LqQW6nQjOQLgucdAkcTyLe7q1CzRbjGbzaDRLaLAUDYvRsAzNHAtt6n+BdRdj3VksPWJvl2C9iX7xxv0CU3Wb7hd/wsu3vcC+jcELx75Vh+bY8KPcrHJBHKmqUjUvpZaih/m8agjc47ov6PEnWJnrODYxhLOeQ4C8bApuDJyRAfuHQStKwTuxynidy5xjTWgo6nwmN1MYiPtX4fmww3nbqneR6c6OBa7H0pvYicDosLvw8HwSqdB8NcgMxR1RvF+K8aospTdS+mfKVuhWdQ1mLT/+iMSluMDX+Qc=
compressedtrue
revision1


Plantumlcloud
filenamePlantUML Diagram 2.svg
datalZTLboMwEEW/pQsvIxkPj3ZJKZEiFSVqu68ccIMrwAicPv6+40BaYoigkmUZ6/qeGc9g4tJW80Yfy4LQMJeZIIy+KaX36gtXuNemvDCbLKA450Ieco3b3bghzI22j9un12ibJJsoMWfgwcyMEQaUeuF6bdZDbbjbWDoIoigAW5fEL6ElLAz+0PDvToujxuhlKmteaVQlJkje9nqI9gRi3POiqv+gSFmDc3Kjl6SRl3PplapCNQQwJPjMpRbodiY4PeG6hLrIdTyLe761EZotRrN5tI9oGixFw2I0LEMz+7ZN/UdYdzHWncfemiLTJVhvol+8Yb/cTdVtul/8CS/f9hqF1XvhODTqWJ8afpCbVS6II1WWquKF1FJ0MJ+XNYF7XHcFPf0EK3MdpyaGcNazD5AXdc6NgTMwYP8waEQheCtWKa8ymXGsCQ1Flc3kZgoDcfcqPB/3OO8a9S5S3dqxwPVYOhM7ERgcdhcenk8iEZqvepmhuAOK90sxXqWl9AZK/0LZCN2otsas5ccfkbgUF/g6/wA=
compressedtrue
revision1

Release contacts 

Meta-releases are administered and tracked by

...

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

Planning and progress

...

tracking for a meta-release

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

...

  • 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 milestone activities are the activities between the milestones requested from the various teams to plan and provide visibility on the progress of a meta-release. They are described in detail for each team below and are also listed at a higher level in the milestone above meta-release milestones table.

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

...

  • 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 processtrackers.
      • 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

...

MilestoneBefore milestoneAfter milestone
M0kick-off preparationkick-off done
M1alpha PRalpha for M2
M2release - candidate PRrelease - candidate for M4
M3API first release - candidate PRAPI first release - candidate for M4
M4

API final release - candidate PR

API public - release PR

API final release - candidate

API public - release for M5

M5meta-release preparationmeta-release published
M6retrospective preparationretrospective done

...

FieldField explanationWhen to update

Target version

the public - release version targeted for the meta-releaseat M0 or when the target scope issue is created

Target scope

link to GitHub issue defining the release scopewhen the issue is created

M1 date/ date

date of pre-release or actual final alpha release milestone datewhen each alpha release is created (before M1)

M2 / date

date of pre-release or actual final release - candidate milestone datewhen public-each release candidate is created (before M2)

(Pre)release tag

link to latest pre-release-release (alpha or release candidate)when a new pre-release is created

M5 / date

actual final public - release milestone datewhen the public - release is created
Public - release taglink to final public - release tagwhen the public - release is created

Milestone activities

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

  • before M0:
    • Starting from the M2 of the previous meta-release, prepare the scope definition for the upcoming meta-release.
    • Start implementing the scope through one or more alpha releases.
  • M0
    • As soon as possible after M0, fix the scope definition for 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 data in the meta-release plan with each release - candidate
    • Create final release - candidate PR and submit to Release Management for checking
    • After TSC approval, create approved final release - candidate for Commonalities & ICM
    • Update the meta-release plan with the final  final release - candidate release tag. The final release - candidate shall be used by the API Sub Projects to work with for their API release - candidate development.
    • Start the scope definition and alpha release for the next meta-release.
  • 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.
    • The public - release PR of the Commonalities and ICM will only be created latest 2 weeks before the M4 date. Once committed, these 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
  • M4
  • M5
    • Provide feedback on meta-release
  • M6

Version and release numbering

PROPOSAL FOR DISCUSSION

Version numbering

For Commonalities and ICM, the version is defined here ????

...

For Commonalities and ICM, the version for a given meta-release is documented on the meta-release plan.

The version numbering scheme follows Semantic Versioning 2.0.0.

...

  • it is numbered with the version number: x.y.z
  • is prefixed with "vr" in the release tag: vxrx.y.z
  • for alpha releases or release candidates it is post-fixed with the version extensions: vvrx.y.z-alpha.m or vxrx.y.z-rc.n
  • for public release releases, no version extension is allowed

The following table provides the overview of the release versioning and numbering scheme through the release cycleprocess.

Stage in  release processRelease typeVersion number
Release number / release number (tag)Version can be releasedMilestone
alpha releasex.y.z-alpha.mvxrx.y.z-alpha.mYes M1 (internal pre- M1release)
release - candidate x.y.z-rc.nvxrx.y.z-rc.nYes M2 (internal pre- M2release)

public - release

x.y.z

vxrx.y.z

Yes (M5)

API Sub Projects

Release tracking

...

  • Create the API release tracker for the API version planned to be released as described here: API release tracking processtrackers
  • With each alpha release or release - candidate API version, the API version and release tag shall be updated .on the API release tracker
  • 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 tag 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 releasedtracking page.

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

Milestone activities

The following are the actions for the activities of the API Sub Projects between milestones:

  • M0
    • Start following the scope definitions of Commonalities and ICM and assess impact on API version
  • M1
    • Create API release tracking page for the API if it does not yet exist (it is normally created as part of the API Sub Project creation) 
    • Create API release tracker for the API version to be released
    • Assess final impact of final alpha release -candidates of Commonalities and ICM scope on API(s)
    • Define scope of API release:
      • Record scope in dedicated GitHub issue.
      • Update the release tracker with the link to the scope issue link
    • Develop API scope through one or more alpha releases
    • Update the API release tracker with each alpha release tag
    • 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
  • M3
    • Fix bugs raised by API testers through one or more release - candidates
    • Update API release tracker with with each release - candidate tag
    • 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 with its tag
      • 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

...

  • 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
    • Review 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

...