Versions Compared

Key

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

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.

WIP

...

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

Overview

CAMARA releases is scheduled to twice per year at approximately 6 month intervals (May and November). Releases are named after major world cities in alphabetical order. See the CAMARA Release Roadmap for a list of previous and future releases.

Releases are administered and tracked by a Community Release Managers. Release status is discussed at the << TBC >>

Release Milestones

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

...

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 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 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 & 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 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-candidate 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-release 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 Release AssessmentM5 + 2 weeks24

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

...

Bundle & publish release

- Common Release Date ("packaging done for the community release")

....................................

  • Work products needed:
    • Commonalities
    • Identity & Consent Management
    • Release Management
      • Overview of released APIs and their version and status
      • Release management process
    • For each (API) sub projects: 
      • API Definition(s)
        • Following the Commonalities guidelines
        • Successful linting check (with latest rules provided by Commonalities
        • Inline documentation, usable together with swagger editor and redoc
      • Test definitions
        • .feature files according to guideline from Commonality (comes with v0.2.0)
      • Supplementary documentation if needed to use or implement the API definition(s)
        • User documentation should be including the API Definition

Dependencies

  • Release Management <= Commonalities, API Sub Projects:

Scope Definitions: Each release cycle involves defining the scope of work for commonalities, and sub-projects/APIs.
Planned Releases: Release management maintains a centralized repository of planned releases for commonalities and sub-projects/APIs, including their respective scope definitions and timelines.

Releases from Sub-Projects/APIs: Information about releases from sub-projects/APIs is collected and documented. This includes details such as release version, release date, features implemented, bug fixes, and any other relevant information.

  • API Sub-Projects <= Commonalities:

Release Dependency: All sub-projects/APIs depend on the release of commonalities documents and artifacts for their own releases.

Follow Commonalities Release: sub-projects/APIs need to synchronize their release cycles with the release of commonalities. 

Integration Testing: Before each sub-project/API candidate release, integration testing is conducted to verify compatibility with the latest commonalities release. Any discrepancies or issues are addressed before proceeding with the sub-project release.

Documentation and Artefacts: Sub-projects/APIs reference specific versions of commonalities documents and artefacts as part of their release process. This information is documented and tracked to maintain traceability and ensure compliance.

  • Commonalities <= Identity & Consent Management:

Release Alignment: Commonalities releases are closely aligned with the release cycles of Identity & Consent Management (I&CM). A release of commonalities refers to documents and artifacts within a release of I&CM.

Versioning and Tagging: Commonalities documents and artifacts are versioned and tagged according to Camara_Versioning_Guidelines.md. This allows for easy identification and retrieval of specific versions when needed.

Dependency Management: I&CM provides the foundational framework for commonalities, which in turn serves as the basis for sub-projects/APIs. Any changes or updates in I&CM are reflected in commonalities, ensuring consistency and coherence across the CAMARA project.

Guidelines towards Sub Projects regarding releases and versioning