openedx / openedx/openedx-platform
Enforcement for ADR 14
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8.2k
- Forks
- 4.4k
- Avg merge
- 6d 18h
- Merged PRs (30d)
- 42
Description
ADR 14 is a decision to require justification for the addition of any new app to edx-platform. However, it has proven difficult to socialize this decision well enough that people abide by it; usually they find out once it's in production and Arch-BOM comes asking about it (having learned of the app via instrumentation). We could have those discussions much sooner if we add GitHub Actions to check for new apps.
Acceptance criteria:
- GitHub Action that fails if a new Django app is added that does not contain an ADR (details in OEP-49 shortly)
- Trigger on PRs
- Detect whether new directories have been added under the known Django apps directories, and check them
- GitHub Action failure has an informative message that points to the ADR (use a job summary)
- Optional: Consider making a reusable action that can be pointed at any directory and that checks as much of OEP-49 as possible; then use that from edx-platform
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading ADR 14 and OEP-49, then inspect the repository's existing GitHub Actions workflows and identify the known Django app directories referenced by the issue. Done means PRs detect newly added app directories, require an ADR, and produce a job summary linking to ADR 14; the reusable-action option is explicitly optional.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- django, github-actions, python
- Domain
- backend, ci-cd
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100