Versions Compared

Key

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

WIP

Table of Contents

UPDATE PROPOSAL

Introduction

The purpose of this document is to describe the cadence, processes, milestones, and associated tasks used in the CAMARA release cycle. See CAMARA meta-releases for information and schedule for specific releases.

Release Milestones

Release milestones and their associated tasks, are used to track the status of the meta-release. The milestones and management tasks used in the release process are described in the table below.

...

Timeline

...

Week number

...

M1

...

  • Scope of Work Products clarified  and recorded in dedicated issue.
  • Identify commonalities work products.
  • Create alpha release for Commonalities & ICM
  • Create initial PRs for commonalities.
  • Agree on the scope of commonalities.
  • TSC review.

...

M2

...

  • Create release-candidate for Commonalities & ICM
  • Prepare public-release for Commonalities & ICM.
  • Complete initial PR reviews.
  • TSC Approval.

...

M3

...

  • Scope Request to Sub-Projects / APIs.
  • Determine requirements for Sub-projects / APIs.
  • Create PRs for Sub-projects / APIs.
  • Review and finalize PRs.
  • Confirm scope of Sub-projects / APIs 
  • Define API test cases.
  • Define acceptance criteria.
  • Create alpha release for for Sub-projects / APIs.

...

M1 + 8 weeks

...

M4

...

  • Conduct testing and log test result.
  • Evaluate and log acceptance criteria.
  • Code Freeze
  • Create release-candidate for Sub-Projects / APIs.
  • Prepare public-release for Sub-Projects / APIs.
  • Request approval of Sub-projects / APIs to Release Management WG for meta-release

...

M3 + 10 weeks

...

M5

...

  • Determine the acceptance of the release-candidates for inclusion in the meta-release
  • Bundle & publish meta-release
  • TSC Approval
  • Publish meta-release

...

M6

...

  • Review release process and identify areas for improvement. 
  • Release Retro.
    • Inputs from Sub Projects
  • TSC Approval.

...

Timeline

...

Week number

...

  • Scope of Work Products clarified  and recorded in dedicated issue.
  • Identify commonalities work products.
  • Create alpha release for Commonalities & ICM
  • Create initial PRs for commonalities.
  • Agree on the scope of commonalities.
  • TSC review.

...

M1

...

  • Create release-candidate for Commonalities & ICM
  • Prepare public-release for Commonalities & ICM.
  • Complete initial PR reviews.
  • TSC Approval.

...

M2

...

  • Scope Request to Sub-Projects / APIs.
  • Determine requirements for Sub-projects / APIs.
  • Create PRs for Sub-projects / APIs.
  • Review and finalize PRs.
  • Confirm scope of Sub-projects / APIs 
  • Define API test cases.
  • Define acceptance criteria.
  • Create alpha release for for Sub-projects / APIs.

...

M3

...

M1 + 8 weeks

...

  • Conduct testing and log test result.
  • Evaluate and log acceptance criteria.
  • Code Freeze
  • Create release-candidate for Sub-Projects / APIs.
  • Prepare public-release for Sub-Projects / APIs.
  • Request approval of Sub-projects / APIs to Release Management WG for meta-release

...

M4

...

M3 + 10 weeks

...

  • Determine the acceptance of the release-candidates for inclusion in the meta-release
  • Bundle & publish meta-release
  • TSC Approval
  • Publish meta-release

...

M5

...

  • Review release process and identify areas for improvement. 
  • Release Retro.
    • Inputs from Sub Projects
  • TSC Approval.

...

M6

...

Actions Commonalities & ICM

...

Actions API Sub-projects

...

Timeline

...

Week Nr

...

  • Scope of Work Products clarified  and recorded in dedicated issue.
  • Identify commonalities work products.
  • Create alpha release for Commonalities & ICM
  • Create initial PRs for commonalities.
  • Agree on the scope of commonalities.
  • TSC review.

...

M1

...

TO BE ARCHIVED

Review closed (2024-04-30) - approved content move to Meta-release Milestones page. - this page is kept to resolve comments and will be archived.

UPDATED PROPOSAL FOR REVIEW (2024-04-23)

Please review the table on this page - proposal is that it replaces the table on the Meta-release Milestones page.


Milestone / start date

Actors & Actions for next milestone

Timeline

Week Nr

pre-M0

Release Management

  • Prepare meta-release page
  • Request TSC to declare kickoff

Commonalities & ICM (from previous M2)

  • Prepare release scope definition for meta-release.
  • Implement scope in one or more alpha releases

TSC

  • Declare meta-release kickoff


M0 

Meta-release kickoff

M00
starts @ M0

Release Management

  • Send kick-off message to all@lists.camaraproject.org
  • Once available, check the final alpha release of Commonalities & ICM and, if OK, submit to TSC for approval
  • After TSC approval, announce M1 milestone

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
Create release-candidate for
starts @ M1

Commonalities & ICM

  • Prepare public-release for Commonalities & ICM.
  • Complete initial PR reviews.
  • TSC Approval.
  • 10 weeks

    M2

    Final Commonalities & ICMM1 + 10 weeks12
    • Scope Request to Sub-Projects / APIs.
    • Determine requirements for Sub-projects / APIs.
    • Create PRs for Sub-projects / APIs.
    • Review and finalize PRs.
    • Confirm scope of Sub-projects / APIs 
    • Define API test cases.
    • Define acceptance criteria.
    • Create alpha release for for Sub-projects / APIs.
    8 weeks

    M3

    Initial Sub-projects / APIs

    M1 + 8 weeks

    10
    • Conduct testing and log test result.
    • Evaluate and log acceptance criteria.
    • Code Freeze
    • Create release-candidate for Sub-Projects / APIs.
    • Prepare public-release for Sub-Projects / APIs.
    • Request approval of Sub-projects / APIs to Release Management WG for meta-release
    10 weeks

    M4

    Final Sub-projects / APIs

    M3 + 10 weeks

    20
    • Determine the acceptance of the release-candidates for inclusion in the meta-release
    • Bundle & publish meta-release
    • TSC Approval
    • Publish meta-release
    2 weeks

    M5

    Meta ReleaseM4 + 2 weeks22
    • Review release process and identify areas for improvement. 
    • Release Retro.
      • Inputs from Sub Projects
    • TSC Approval.
    2 weeks

    M6

    Post ReleaseM5 + 2 weeks24Milestone

    Actions Commonalities & ICM

    Actions API Sub-projects

    Timeline

    Week Nr

    M0 - meta-release kickoffM00
    • Scope of Work Products clarified and recorded in dedicated issue.
    • Identify commonalities work products.
    • Create alpha release for Commonalities & ICM
    • Create initial PRs for commonalities.
    • Agree on the scope of commonalities.
    • TSC review.
    2 weeks

    M1 - Initial Commonalities & ICM

    M0 + 2 weeks2
    • Create release-candidate for Commonalities & ICM
    • Prepare public-release for Commonalities & ICM.
    • Complete initial PR reviews.
    • TSC Approval.
    10 weeks

    M2 - Final   Commonalities & ICM

    M1 + 10 weeks12
    • Scope Request to Sub-Projects / APIs.
    • Determine requirements for Sub-projects / APIs.
    • Create PRs for Sub-projects / APIs.
    • Review and finalize PRs.
    • Confirm scope of Sub-projects / APIs 
    • Define API test cases.
    • Define acceptance criteria.
    • Create alpha release for for Sub-projects / APIs.
    8 weeks

    M3 - Initial                  Sub-projects / APIs

    M1 + 8 weeks

    10
    • Conduct testing and log test result.
    • Evaluate and log acceptance criteria.
    • Code Freeze
    • Create release-candidate for Sub-Projects / APIs.
    • Prepare public-release for Sub-Projects / APIs.
    • Request approval of Sub-projects / APIs to Release Management WG for meta-release
    10 weeks

    M4 - Final                    Sub-projects / APIs

    M3 + 10 weeks

    20
    • Determine the acceptance of the release-candidates for inclusion in the meta-release
    • Bundle & publish meta-release
    • TSC Approval
    • Publish meta-release
    2 weeks

    M5 - Meta Release

    M4 + 2 weeks22
    • Review release process and identify areas for improvement. 
    • Release Retro.
      • Inputs from Sub Projects
    • TSC Approval.
    2 weeks

    M6 - Post Release

    M5 + 2 weeks24

    back to one action column

    ...

    Actors / Actions for next milestone

    ...

    Timeline

    ...

    Week Nr

    ...

    Release Management

    ...

    Commonalities & ICM

    • Scope of Work Products clarified and recorded in dedicated issue.
    • Identify commonalities work products.
    • Create alpha release for Commonalities & ICM
    • Create initial PRs for commonalities.
    • Agree on the scope of commonalities.
    • TSC review.

    ...

    M1 - Draft Commonalities & ICM

    ...

    Commonalities & ICM

    • Create release-candidate for Commonalities & ICM
    • Prepare public-release for Commonalities & ICM.
    • Complete initial PR reviews.
    • TSC Approval.

    ...

    M2 - Final Commonalities & ICM

    ...

    • Scope Request to Sub-Projects / APIs.
    • Determine requirements for Sub-projects / APIs.
    • Create PRs for Sub-projects / APIs.
    • Review and finalize PRs.
    • Confirm scope of Sub-projects / APIs 
    • Define API test cases.
    • Define acceptance criteria.
    • Create alpha release for for Sub-projects / APIs.

    ...

    M3 - Draft APIs

    ...

    M1 + 8 weeks

    ...

    API Sub-projects

    • Conduct testing and log test result.
    • Evaluate and log acceptance criteria.
    • Code Freeze
    • Create release-candidate for Sub-Projects / APIs.
    • Prepare public-release for Sub-Projects / APIs.
    • Request approval of Sub-projects / APIs to Release Management WG for meta-release

    ...

    M4 - Final APIs

    ...

    M3 + 10 weeks

    ...

    Release Management

    • Determine the acceptance of the release-candidates for inclusion in the meta-release
    • Bundle & publish meta-release
    • TSC Approval
    • Publish meta-release

    ...

    M5 - Meta Release

    ...

    Release Management

    • Review release process and identify areas for improvement. 
    • Release Retro.
      • Inputs from Sub Projects
    • TSC Approval.

    ...

    M6 - Post Release

    ...

    Horizontal milestones

    ...

    • Scope of Work Products clarified  and recorded in dedicated issue.
    • Identify commonalities work products.
    • Create alpha release for Commonalities & ICM
    • Create initial PRs for commonalities.
    • Agree on the scope of commonalities.
    • TSC review.

    Release cadence

    CAMARA meta-releases are scheduled twice per year at approximately 6 month intervals (March and September). Meta-releases are named after major world cities in alphabetical order.

    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.

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

    Process

    Details on API versioning and the link with the release management is described here: Releasing API versions

    Meta-release (M0, M5, M6)

    A Meta-release has 6 milestones, M0 through M6 described above. For the milestone dates per meta-release, please see the Meta-release planning.

    The Release Management team has the following activities for each meta-release:

    • Create the meta-release page under CAMARA meta-releases
    • Inform all team's release contacts through the release management mailing list that they need to provide input to the meta-release page.
    • Declare the kick-off of the meta release.
    • Prepare starting at M4 and publish the meta-release at M5.
    • Conduct a meta-release retrospective as input to the next meta release

    At M0 preparation,

    • the Commonalities and ISM teams shall update the meta-release page with the information of what they plan to contribute to the meta-release, and with the status updates during the meta-release cycle.
    • all API Sub-project teams shall create their release tracker page(s) for the API version(s) they plan to contribute to the meta-release

    Release milestone status

    The ongoing meta-release status is discussed in the Release Management working group meetings and recorded on the meta-release page.

    The milestone status values are defined as follows:

    ...

    Commonalities & ICM (M0, M1, M2)

    The Commonalities and ICM teams shall respectively update the related meta-release page table as follows:

    • The (Pre-)Release tag column shall be updated with the latest pre-release tag link to the API version whenever a new pre-release is made available.
    • The actual milestone dates shall be put in the table when the milestone is achieved. 
    • The link to the release package shall be added at each pre-release change, and at M2 (and is the same at M5).
    • When M2 is passed and TSC approval is given, the target public-release version shall be created and the link put in the (Pre-)Release package column.

    APIs (M0, M3, M4)

    API Sub-project teams shall update the table for APIs as follows: 

    • The(Pre-)Release tag column shall be updated with the latest pre-release API version in use by the team.
    • The actual milestone dates shall be put in the table when the milestone is passed. 
    • The link to the release package shall be added at each pre-release change, and minimally at M3, M4, and the final at M5.
    • When M5 is passed, the target release API version shall be put in the(Pre-)Release tag column.

    For sub-projects that contain multiple APIs in separate files,

    • A folder per API shall be created for its development, ONLY if all APIs are managed under the same version, else a separate API Sub-project shall be created
    • The API version used in the API release asset naming for pre- and public releases include the API name. However, the API OAS definition file only has the semver API version. 

    API version tag

    • the main branch always contains the latest API version. It is meant for development.   

    • API versions can be created through alpha or release-candidate API version tags and API version release packages. These pre-releases become more stable with increasing API versions. 

    API version release package

    Release packages shall be creates using the GitHub release process. 

    Each release package shall include the release notes using the provided template.

    Each release package has a tag: pre-release or latest.

    Meta-release roadmap

    ...

    • 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
    • After TSC approval:
      • 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 Commonalities and ICM final release-candidate PRs, announce M2 milestone

    TSC

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

    M2

    Release-candidate Commonalities & ICMM1 + 7 weeks9
    starts @ 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

    • 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 @ 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
    • Announce M4 milestone when all API public-releases are approved by TSC

    TSC

    • Approval of API public-release PR for all proposed APIs
    9 weeks

    M4

    Public-release APIs

    M3 + 9 weeks

    18

    starts @ public-release PR for an API

    Release Management

    • Check that all API release trackers are updated 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 

    TSC:

    • Meta-release approval
    2 weeks

    M5

    Meta-releaseM4 + 2 weeks20
    starts @ M5

    Release Management

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

    TSC

    • Meta-release improvements approval.
    2 weeks

    M6

    Post Release AssessmentM5 + 2 weeks24