Skip to content

Enforce canonical GitHub label descriptions #152

Closed

Description

@ineedjet

Problem

GitHub label names and colors are already enforced on main by
github-shared.yml, but config/github.yml does not declare canonical label
descriptions and the checker does not validate them.

This permits drift between repositories even when the labels check passes. For
example, the Release Please labels currently have different descriptions in
Baseline and Flightdeck.

The broader claim that labels are not checked was true for v0.12.0. The
name/color implementation landed after that release and is included in the
v0.13.0 release pull request.

Scope

  • Add a required description alongside color for every required and optional
    label in config/github.yml.
  • Validate the label schema strictly.
  • Compare descriptions for every present required or optional label.
  • Treat a null GitHub description as an empty string.
  • Report all missing, unexpected, incorrectly colored, and incorrectly described
    labels in one result.
  • Cover configuration validation and description comparison with tests.

Optional labels may remain absent. When present, both their color and description
must match.

Done when

github-shared.yml rejects description drift and reports every label-policy
difference needed to reconcile the repository.

Activity

  1. ineedjet commented on Aug 17, 2026

    @ineedjet
    ContributorAuthor

    Extra detail worth folding into whichever fix lands: config/github.yml's label
    schema doesn't have a description: field at all right now — only color:. So
    even once label name/color get enforced, description would still be an unchecked,
    undeclared property. Worth adding description: to the schema alongside the fix,
    otherwise consumer repos have no canonical description to conform to and drift is
    still possible there (as it just did in rubykatzen/flightdeck — the
    autorelease: pending/autorelease: tagged labels got created with an empty
    description since nothing declares what it should be).

  2. changed the title [-]github-shared.yml doesn't actually check labels (README says it does)[/-] [+]Enforce canonical GitHub label descriptions[/+] on Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions