/
Review guidance for API release PRs

Review guidance for API release PRs

The following sections provide guidance on how to review an API release PR.

Please add questions in the Q&A section as you come across them and add comments/text for answering them.

Review issues and process

API Sub Projects will request the review of their API release PRs for M3 or M4 approval.

The request is done by adding the camaraproject/release-management_maintainers to the reviewers of the release PR when it is ready for review by the Release Management team.

The Release Management team will create a review issue in which all check points are listed as per the template described in the next section.

For APIs that are targeting to become a stable public API, for M3, the Release Management team may request an additional review by Commonalities and ICM teams.

As a reviewer, if you see a release PR that is nearly ready, add a comment as follows: "Please add @release-management_maintainers to this PR once the PR is ready"

When a release PR review is requested,

  • Create the review issue

  • Assign the issue to a Release Management team member who will

  • Check each task and tick it when done.

  • Check if further review by TSC / Commonalities / ICM is needed (e.g. for targeted stable APIs), and leave issue open until those reviews are marked as done and OK in the review issue

  • For final approval of a release PR, use a comment like: "LGTM from ReleaseManagement."

  • When all tasks and complementary reviews are completed, close the review issue with a comment (in the review issue) on the overall status of the API.

Review issue - usage

A review issue is created by the Release Management team when the review of an API release PR is requested by the API Sub Project for M3 or M4 approval.

A review issue contains actions related to the API review and actions related to the API release.

Review actions

  • API definition files (YAML) (check version in info & servers objects)

  • test file(s) availability

  • changelog updated

  • readme updated (enforce correct release number / API version naming)

  • API readiness checklist(s)

Release actions

  • API release tracker available on wiki

  • Review comments addressed (by Sub Project)

  • Release PR approved (on behalf of Release Management)

  • PR merged (by Sub Project codeowner)

  • Release created within GitHub (by Sub Project codeowner)

  • Release Tracker updated (with creation date of the release and the release tag link)

  • In case of maintenance release only: add a PR on https://github.com/camaraproject/.github/blob/main/profile/README.md created (by Release Management) and merged (by CAMARA admin)

The following sections provide more details for the reviewers of API release PRs.

Review actions - details

API definition files (YAML) (check version in info & servers objects)

  • Check Info object

    • version: aligned with the released API version and formatted correctly (per Commonalities)

    • description: check that it

      • contains sufficient in-line API documentation

      • does not use Telco Jargon / abbreviations (non blocking for release if in documentation), e.g. avoids use of

        • "customer", unless explicitly explained what is meant. Instead use as applicable “API consumer”, (application) “end-user”, or whatever else is applicable.

        • "Telco/operator/CSP", as also Aggregators, etc. may expose the API. Use a more general term e.g. “API exposure platform owner” as applicable. 

        • "subscriber". Use “Device” or “End-user” (defined as the application user) as applicable

        • “API customer”: use “API consumer” or (application) “end-user”, as applicable

      • contains the mandatory text from the section on authentication and authorization from the ICM CAMARA-API-access-and-user-consent.md.

    • contains the x-camara-commonalities version from the Commonalities release referenced in the API readiness checklist. This should be following the same versioning scheme as in the API URLs. so e.g. “x-camara-commonalities: 0.5”

  • Check servers object has the correct version format e.g. v0.xrc1, v1rc1, v0.x or v1.

  • Check security schemes: check presence and format (OIDC) and scope name format.

  • In externalDocs: this field is optional, but recommend to point to the CAMARA API repository.
      description: Project documentation at CAMARA repository
      url: https://github.com/camaraproject/<api-repository>

  • Ensure that error cases are sufficiently explained in in-line documentation in info.description field.

test file(s) availability

  • all error codes shall be covered by final test scenarios.

  • main error cases for release-candidates / initial versions shall respect Commonalities / documentation / API-Testing-Guidelines.md

changelog updated

  • Check that the PR updates the CHANGELOG.md file as described in the API release guidelines.

  • Hint: For capturing changes, its is recommended to use the GitHub release feature to get the list of all the ch