Versions Compared

Key

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

WIP

Table of Contents

Introduction

A CAMARA meta-release is the way CAMARA brings its APIs to market.

A meta-release consists of a set of public versions of curated APIs that went though the CAMARA meta-release process.

The purpose of this document is to describe define

  • the milestones of the meta-release (this page), and

...

  • the supporting Meta-release Process documentation
  • the activities expected from the different teams to move from one milestone to the next
  • the way to report progress on the meta-release itself, on the Commonalities and ICM releases and on API releases

For the schedule and content of actual planned meta-releases, see see CAMARA meta-releases.

Meta-release milestones

Meta-release

...

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

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

...

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

The actions required from the various teams in the release process are described in the table below. More information can be found in the Meta-release Process description.

...

The following table lists the meta-release milestones, and includes a high level view of the activities expected from the various teams to reach these milestones. 

More details on these for each team are documented here: 


Milestone / start date

Actors &

Actions

Activities for next milestone

Timeline

Week Nr

pre-M0 activities
  • Release Management
Prepare
  • : prepare meta-release
page
  • Request TSC to declare kickoff
    • plan
    • Commonalities & ICM
    (from previous M2)
    • Prepare release scope definition for meta-release.
    • Implement scope in one or more alpha releases

    TSC

    • : define scope and start alpha release development
    • TSC: declare M0 -
    Declare
    • meta-release kickoff


    M0 

    Meta-release kickoff

    M00
    starts Once available, check the final alpha release of
    activities for M1 start @ M0

    Release Management

  • Send kick-off message to all@lists.camaraproject.org
    • Commonalities & ICM
    and, if OK, submit to TSC for approval
  • After TSC approval, announce M1 milestone
    • : 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

    Commonalities & ICM

    • Define the scope for meta-release.
      • Record scope in dedicated GitHub issue.
      • Submit scope issue for TSC review
    • Develop Commonalities & ICM scope through one or more alpha releases
    • Update data in the meta-release plan with each alpha release
    • Create final alpha release PR 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

    TSC

    Approve final alpha release PRs of Commonalities & ICM
    2 weeks

    M1

    Alpha Commonalities & ICMM0 + 2 weeks2
    starts
    activities for M2 start @ M1
    • API Sub Groups: align to Commonalities and ICM alpha release and provide feedback
    • Commonalities & ICM
  • Fix bugs raised by users through one or more release-candidates
  • Update release tracker on meta-release page with each release-candidate
  • Create
    • : Fix bugs and prepare final release-candidate
    PR and submit to Release ManagementAfter TSC approval:
    • for M2
    • TSC: approve Commonalities and ICM final
  • Create the final release-candidate for Commonalities & ICM
  • Update the meta-release page for Commonalities & ICM with
    • release-candidate
    tag
    • Release Management
  • Check final release-candidate PRs of Commonalities and ICM and, if OK, submit to TSC for approval
  • After TSC approval, and commit of
    • ; declare M2 - Commonalities and ICM
    final
    • release-candidate
    PRs, announce M2 milestone

    TSC

    • Approve final release-candidate PRs of Commonalities & ICM
    • available
    7 weeks

    M2

    Release-candidate Commonalities & ICMM1 + 7 weeks9
    starts
    activities for M3 start @ M1
    • API Sub
    -projects
    • 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.
      • Submit scope for TSC review
      • 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

    Release Management, for each API

    • Once available, check the API release-candidate PR
    • If OK, approve creation of first release-candidate
    • If NOK, or in case of questions, notify TSC for checking the API release-candidate PR
    • Announce M3 milestone with all approved API release-candidates.

    TSC

    • 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
    Review API release-candidate PRs on request of Release Management and approve (or reject)
    9 weeks

    M3

    Release-candidate APIs (Code Freeze)

    M1 + 9 weeks

    9
    starts
    activities for M4 start @ M3
    • API Sub
    -projects
    • Fix bugs raised by API testers through one or more release-candidates
    • Update API release tracker with each release-candidate
    • Submit public-release PR to Release Management for checking
    • After TSC approval:
      • Create API public-release
      • Update the API release tracker with public-release tag

    Release Management

  • Once available, check API public-release PR and, if OK, submit to TSC for approval
    • Projects: fix bugs and prepare public-release
    • Commonalities & ICM: prepare public-release
    • Release Management: check API readiness of each API and declare M4 -
    Announce M4 milestone when
    • all API public-releases
    are approved by TSC
    • available
    • TSC
    Approval of API public-release PR for all proposed APIs
    • : give formal approval of Commonalities, ICM and API (case-by-case) public-releases
    9 weeks

    M4

    Public-release APIs

    M3 + 9 weeks

    18

    activities for M5 starts @ public-release PR for an API

    • Release Management
  • Check that all API release trackers are updated for the meta-release
  • Propose
    • : prepare and declare M5 - meta-release
    content to TSC
    • availability
    After TSC approval, publish the
    • TSC: approve meta-release
  • Announce the M5 meta-release on all@lists.camaraproject.org 
  • TSC:

    • Meta-release approval
    • for M5
    2 weeks

    M5

    Meta-releaseM4 + 2 weeks20
    starts
    activities for M6 start @ M5
    • Commonalities & ICM: assess meta-release and provide feedback

    Release Management

    • Review release process with all teams and identify areas for improvement. 
    • Propose improvements for TSC approval

    TSC

    • Meta-release improvements approval.
    • 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 Release AssessmentM5 + 2 weeks24

    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 teams can put their release contact names on the Release Contacts (Maintainers) page or put the release contact on their API release trackers.

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

    ...

    Processes

    All CAMARA teams play their part in the meta-release process. The actions are listed An overview of the activities per team is shown in the above milestone table.

    Additional information The details on the actions activities for all teams each team can be found in the below process descriptions:

    • The process to manage a meta-release is described here: Meta-release Process
    • The process for the Commonalities and ICM teams is described here: Commonalities and ICM release process
    • Details on releasing an API version and the related API versioning are described here: API Release Process

    ...