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 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
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 CAMARA meta-releases.
Meta-release milestones
Meta-release milestones and their associated actions are used to progress and Release milestones and their associated tasks, are used to 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 the Meta-release Process.
The following table lists the meta-release milestones and management tasks used in the release process are described in the table below., 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:
- Commonalities, ICM: release tracking and milestone activities
- API Sub Projects: release tracking and milestone activities
- Release Management: meta-release tracking and milestone activities
- TSC: milestone activities
Milestone / start date | Actors & Activities for next milestone | Timeline | Week Nr |
---|---|---|---|
pre-M0 activities |
| ||
M0 | Meta-release kickoff |
Timeline
update
Week number
M0 | 0 | |
activities for M1 start @ M0 |
|
- Scope of Work Products clarified.
- Identify commonalities work products.
- Create initial PRs for commonalities.
- Agree on the scope of commonalities.
- TSC Approval.
- Release of Commonalities.
- Complete initial PR reviews.
- TSC Approval.
- Scope Request to Sub-Projects / APIs.
- Determine requirements for 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.
- Identify release candidates for sub-projects/APIs.
- Release of Sub-Projects / APIs.
- Testing & Acceptance.
- Conduct testing.
- Evaluate acceptance criteria.
- Code Freeze
- Bundle & publish release
- Common Release Date ("packaging done for the community release").
- Review release process and identify areas for improvement.
- Release Retro.
- Inputs from Sub Projects
- TSC Approval.
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.
Process
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 Sub-project Release Contacts (Maintainers) page.
Meta-release
- Create the meta-release page
- Inform the teams 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
- Publish the meta-release at M5
- Conduct a meta-release retrospective as input to the next meta release
At M0 preparation, the below 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.
Release milestone status (M0, M5, M6)
Meta-release have 6 milestones, M0 through M6 described below. For the milestone dates per meta-release, please see the CAMARA Release Roadmap.
The ongoing meta-release status is discussed in the Release Management working group meetings and recorded on the meta-release page.
The milestone status information is
- M0: meta-release preparation, kick-off
- M1: scoped, work-in-progress
- M2: release-candidate, released
- M3: scoped, work-in-progress
- M4: release-candidate, released
- M5: meta-release finalization, published
- M6: under retro, done
Commonalities & ICM (M0, M1, M2)
The Commonalities and ICM teams shall respectively update the related table as follows:
- The Version column shall be updated with the latest pre-release version in use by the respective teams.
- 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 version change, and at M2 (and is the same at M5).
- When M2 is passed, the target public-release version shall be put in the Version column.
APIs (M0, M3, M4)
API Sub-project teams shall update the table for APIs as follows:
| 2 weeks | ||
M1 | Alpha Commonalities & ICM | M0 + 2 weeks | 2 |
activities for M2 start @ M1 |
| 7 weeks | |
M2 | Release-candidate Commonalities & ICM | M1 + 7 weeks | 9 |
activities for M3 start @ M1 |
| 9 weeks | |
M3 | Release-candidate APIs (Code Freeze) | M1 + 9 weeks | 9 |
activities for M4 start @ M3 |
| 9 weeks | |
M4 | Public-release APIs | M3 + 9 weeks | 18 |
activities for M5 starts @ public-release PR for an API |
| 2 weeks | |
M5 | Meta-release | M4 + 2 weeks | 20 |
activities for M6 start @ M5 |
| 2 weeks | |
M6 | Post Release Assessment | M5 + 2 weeks | 24 |
Processes
All CAMARA teams play their part in the meta-release process. An overview of the activities per team is shown in the above table.
The details on the activities for 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.
- The Version 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 version change, and minimally at M3, M4, and the final at M5.
- When M5 is passed, the target public-release API version shall be put in the Version column.