-
-
Notifications
You must be signed in to change notification settings - Fork 60
Description
Description
The current CONTRIBUTING.md mentions that ADR (Architectural Decision Records) workflow automation would be beneficial. Specifically, the document states: "(It would be great if some parts of this could be automated. Specification and full workflow required.)"
This workflow suggestion proposes automating the ADR labeling and validation process to reduce manual overhead and ensure consistency.
Objective
Automate the ADR (Architectural Decision Records) workflow by:
- Automatically adding
adr-requiredoradr-not-requiredlabels based on maintainer/contributor indicators - Validating that PRs with
adr-requiredlabel include an ADR before allowing merge - Inheriting
adr-requiredlabels from associated issues to PRs - Auto-adding
adr-includedlabel when ADR is detected in PR
Steps
- Create GitHub Action workflow that triggers on issue/PR creation and label changes
- Implement logic to detect ADR assertion by submitter (keywords in body, checkbox in template)
- Add automatic label inheritance from linked issues to PRs
- Implement ADR file detection in PRs (scan for files in docs/adr/ directory)
- Add validation check that blocks merge if
adr-requiredlabel exists withoutadr-included - Configure bot to comment on PRs requesting ADR if required label is present
- Add workflow status checks to repository settings
Expected Outcome
- Reduced manual effort for maintainers in tracking ADR requirements
- Consistent application of ADR policy across repositories
- Clear feedback to contributors when ADR is needed
- Automated validation ensures no significant changes are merged without proper documentation
- Improved project governance and decision tracking
Additional Context [optional]
This directly addresses the comment in CONTRIBUTING.md about automation being desirable. Similar automation exists in other large open source projects (e.g., Kubernetes, Rust) and could be adapted for JSON Schema's needs.
The implementation could start with simple GitHub Actions and expand to more sophisticated tooling if needed. I'm willing to contribute to the specification and implementation of this workflow.