Repository to develop and provide shared tooling across the CAMARA project and its API repositories.
Maintained under the supervision of Commonalities Working Group.
- Commonalities Working Group: https://github.com/camaraproject/Commonalities
- Working Group wiki: https://lf-camaraproject.atlassian.net/wiki/x/_QPe
This repository provides:
- Reusable GitHub workflows for API repositories (linting, validation, release automation)
- Shared GitHub Actions with cross-repository value
- Validation scripts and schemas for release planning
- Release automation for API repository releases
- Configuration files and documentation for workflows
Belongs here:
- Reusable CI workflows consumed by API repositories
- Shared GitHub Actions used by workflows
- Validation scripts, schemas, and configuration
- Supporting documentation for the above
Does not belong here:
- Project-wide campaigns (see project-administration)
- Cross-repository orchestration
- Authoritative project-level data
OpenAPI and test definition linting using Spectral and other linters.
- Location: linting/
- Configuration: linting/config/.spectral.yaml
- Documentation: linting/docs/
- Workflows:
spectral-oas.yml,pr_validation.yml
Templates for API repositories to add to their .github/workflows/ folder:
- spectral-oas-caller.yml - OpenAPI linting
- pr_validation_caller.yml - PR validation
Schema and semantic validation for release planning files.
- Location: validation/
- Schemas: validation/schemas/ - release-plan, release-metadata
- Scripts: validation/scripts/
Validates release-plan.yaml and release-metadata.yaml files against CAMARA schemas.
# Basic validation
python3 validation/scripts/validate-release-plan.py path/to/release-plan.yaml
# With file existence checks
python3 validation/scripts/validate-release-plan.py release-plan.yaml --check-filesLegacy API review validation system (Fall25 meta-release specific).
- Location: api-review/, scripts/
- Status: Deprecated - not maintained for future releases
- Workflow:
api-review-reusable.yml
Automated release workflow for CAMARA API repositories, handling release planning, snapshot creation, review PR generation, changelog updates, and publication.
- Location: release_automation/
- Reusable workflow:
release-automation-reusable.yml - Caller template: release-automation-caller.yml
- User documentation: Release Process Guide (in ReleaseManagement repository)
- Technical documentation:
- repository-setup.md — onboarding guide
- technical-architecture.md — system design
- branching-model.md — branch and tag conventions
Reusable GitHub Actions for cross-repository use.
- Location: shared-actions/
- Actions:
validate-release-plan— release-plan.yaml schema and semantic validationcreate-snapshot— create release snapshot branchesderive-release-state— determine release state from repository artifactspost-bot-comment— post formatted bot comments on issuessync-release-issue— synchronize release issue state and bodyupdate-issue-section— update marked sections in issue bodiesupdate-readme-release-info— update README release information block
tooling/
├── .github/
│ └── workflows/ # Reusable workflows (public interface)
│ ├── api-review-reusable.yml # Deprecated
│ ├── pr_validation.yml
│ ├── release-automation-reusable.yml
│ ├── spectral-oas.yml
│ └── update-floating-tag.yml
├── api-review/ # Deprecated
│ ├── docs/
│ └── workflows/
├── linting/
│ ├── config/ # Spectral and linting configuration
│ ├── docs/
│ └── workflows/ # Caller workflow templates
├── release_automation/
│ ├── config/ # Transformation rules
│ ├── docs/ # Setup, architecture, branching model
│ ├── scripts/ # Python modules
│ ├── templates/ # Mustache templates
│ ├── tests/ # Unit tests (565 tests)
│ └── workflows/ # Caller workflow template
├── scripts/ # Deprecated
│ └── api_review_validator_v0_6.py
├── shared-actions/
│ ├── create-snapshot/
│ ├── derive-release-state/
│ ├── post-bot-comment/
│ ├── sync-release-issue/
│ ├── update-issue-section/
│ ├── update-readme-release-info/
│ └── validate-release-plan/
└── validation/
├── schemas/ # JSON/YAML schemas
│ ├── release-plan-schema.yaml
│ └── release-metadata-schema.yaml
└── scripts/
└── validate-release-plan.py
The latest release is v0.3.0.
- API repositories reference the
v0floating tag, which tracks the latest stable release - CAMARA Release Automation is included since v0.3.0 (see repository-setup.md for onboarding)
- Tested versions are in the
mainbranch - Versions under development are in feature branches
Maintained by Commonalities Working Group.
- Meetings of the working group are held virtually
- Schedule: see Commonalities Working Group wiki page
- Registration / Join
- Minutes: Access meeting minutes
- Mailing List
- Subscribe / Unsubscribe to the mailing list https://lists.camaraproject.org/g/wg-commonalities
- A message to the community can be sent using wg-commonalities@lists.camaraproject.org