Skip to content

Conversation

@makubacki
Copy link
Member

Add reusable GitHub Label Sync workflow

Adds a new workflow and accompanying manifest that specifies labels
used in Project Mu to control label management from this centralized
repository.

  • .github/Labels.yml - Centralized label manifest for Project Mu
  • .github/workflows/LabelSyncer.yml - Single GitHub Action to apply
    labels in the label manifest to all Project Mu repos that call the
    workflow.

Repos are expected to to sync labels by calling LabelSyncer.yml
on a roughly consistent cadence across Project Mu.

Repos can pass a repo-specific config as an input to this reusable
workflow.

This has the benefit of reducing developer time working with labels
but more importantly makes labels consistent across Project Mu repos
and tracks changes to labels in Mu DevOps source history. Security
settings and action version management are tracked in
LabelSyncer.yml. Individual repos should not duplicate direct calls
to the GitHub Action.

Signed-off-by: Michael Kubacki michael.kubacki@microsoft.com

Adds a new workflow and accompanying manifest that specifies labels
used in Project Mu to control label management from this centralized
repository.

- `.github/Labels.yml` - Centralized label manifest for Project Mu
- `.github/workflows/LabelSyncer.yml` - Single GitHub Action to apply
  labels in the label manifest to all Project Mu repos that call the
  workflow.

Repos are expected to to sync labels by calling `LabelSyncer.yml`
on a roughly consistent cadence across Project Mu.

Repos can pass a repo-specific config as an input to this reusable
workflow.

This has the benefit of reducing developer time working with labels
but more importantly makes labels consistent across Project Mu repos
and tracks changes to labels in Mu DevOps source history. Security
settings and action version management are tracked in
`LabelSyncer.yml`. Individual repos should not duplicate direct calls
to the GitHub Action.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
@makubacki makubacki added the type:enhancement New feature or pull request label Nov 23, 2022
@makubacki
Copy link
Member Author

@makubacki
Copy link
Member Author

One nice feature is the action log shows a diff of what it modified. For example, I deleted these four labels in my fork, ran the action, and it noted adding them back since they're in the mu_devops config file:

Action Run Link

image

@makubacki makubacki merged commit 7ccb1b0 into microsoft:main Nov 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:enhancement New feature or pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants