Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add reusable GitHub Label Sync workflow #30

Merged
merged 3 commits into from
Nov 23, 2022

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 [email protected]

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 <[email protected]>
@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