Skip to content

Centralize Renovate config for openedx repos (frontend + backend) #541

@feanil

Description

@feanil

Problem

40+ Open edX repos maintain their own near-duplicate renovate.json, and they've drifted over time — same intent, slightly different shapes. There's no single place to update org-wide policy (automerge rules, schedules, grouping, vulnerability alerts). Additional repos likely have no Renovate config at all and should be brought into the same scheme.

Two distinct patterns exist today:

  • Frontend (~27 repos): config:base, automerge @edx/@openedx minor+patch, rebaseStalePrs, often patch.automerge: true. Some add weekly schedules, eslint grouping, or semanticCommits.
  • Backend (~13 repos): config:base, broader automerge (minor, patch, pin, digest). A handful add schedules, prConcurrentLimit, or reviewer teams.

Phase 1 — Discovery

The output of this phase is a short design doc / decision record answering:

  • Host repo: does the shared config live in a new openedx/renovate-config, under openedx/.github, or somewhere else?
  • Preset shape: one preset, or a base + frontend + backend split? What goes in each, given the FE/BE divergence above?
  • Policy reconciliation: for places where current configs disagree (automerge breadth, schedules, semantic commits, vulnerability alerts), what's the org default? Where do we honor existing per-repo overrides vs. unify?
  • Override pattern: how does a repo opt out or extend (e.g. team reviewers, custom grouping) without forking the whole config?
  • Repo inventory: the ~40 repos with existing configs, plus repos that should have Renovate but don't today.
  • POC scope: pick 1–2 FE repos and 1–2 BE repos to migrate first.

Phase 2 — Implementation

  • Create the host repo / presets per Phase 1 decisions.
  • Migrate the POC repos (1–2 FE, 1–2 BE) and let them bake long enough to see at least one real Renovate cycle. Adjust presets based on what we learn.
  • Roll out to the remaining repos. Likely tracked as per-repo follow-up issues filed off this epic.
  • Document the presets, override pattern, and how to onboard a new repo.

Out of scope (for this epic)

  • Changing org-wide automerge / scheduling policy. This epic preserves current behavior; policy changes go in follow-ups against the central repo once it exists.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicLarge unit of work, consisting of multiple taskshelp wantedReady to be picked up by anyone in the communitymaintenanceRoutine upkeep necessary for the health of the platform

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions