Versions Compared

Key

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

...

Original related GitHub issue: Herbert

 Herbert's proposal here: Proposal to establish API Families as Working Groups across API Sub Projects · Issue #7 · camaraproject/ReleaseManagement (github.com)

...

If multiple API files are managed in one API Sub-project/repo, then release package will include all APIs, even if they are not intended to be released.

Proposal:

1) The notion of of API family  family will not be release managed. CAMARA release management only considers considers APIs and their releases

2) The proposal is to

  • develop only one API (file) (exception see below) in one API Sub-Project
  • exception: if an API Sub-project wants to keep multiple APIs in the same API Sub-project:
    • all APIs in this API Sub-project shall always be released together
    • all APIs that are part of the release of an API Sub-project shall provide the require release assets.
    • if a different team or release schedule are needed to release one API of a Sub-project that has multiple APIs, then it shall be moved (with its related assets) to its own API Sub-project.

NOTE: We can look at reworking/simplifying the API sub-project repository structure if needed.

Agreement from the team to adopt the "1 API per repo" approach in principle but also more flexibility is introduced by adding the next proposal.


2024-04-12: Additional proposal from Herbert/Shilpa to decouple release name/number from contained API versions 

  • Decouple the (pre-)release tag and package name/number from the API version.
  • Add some addition semantics in the release name/number

...

  • a) Tag, release and repo are coupled
  • b) Release name/number is decoupled from API version
  • Number the releases rx.y; Use r0.y if an API is sandbox-grade and rx.y with x>0 once in meta-release. 
  • Use subsequent numbering of releases across meta-releases (see whiteboard example below).

Agreement from the team to go forward with that decoupling proposal and update the process to reflect it (@ Tanja)


2024-04-12: Additional proposal of meeting participants: 

  • option b) use another naming/numbering schema for the releases of the sub project repositories (note tdg: not sure I understand if this is different from the proposal on the table "rx.y" ?)


2024-04-12: Additional proposal from Herbert to introduce beta releases

In this case:

  • an initial or alpha release is for rapid development 
  • a beta release is stable enough for API implementation & testing
  • a release-candidate only allows for bug fixing

Agreement from the team not fully clear, but will do an update to the process to reflect it (@ Tanja)

Proposed picture update - please comment on arrow labels names:


Image Added


I had a more complicated version of the previous picture for API versions, but not sure it helps to put this one (and thus to update it to include beta as well.

Image Added

API Groupings

Grouping of APIs is useful to reduce the number of meetings and reporting load with the increasing number of APIs, and facilitate moving APIs from one family or group to another, or combining related APIs from multiple API Sub-projects into one group.

...