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

🤖 Update labels #8

Closed
wants to merge 3 commits into from
Closed

🤖 Update labels #8

wants to merge 3 commits into from

Conversation

ErikSchierboom
Copy link
Owner

@ErikSchierboom ErikSchierboom commented Jun 9, 2021

This PR adds:

  • A .github/labels.yml file containing this repository's labels
  • An .appends/.github/labels.yml file, which contains all the repository-specific labels currently used in this repo.
  • A .github/workflows/sync-labels.yml workflow to automatically synchronize this repository's labels

With this setup, the labels that can be used in this repo are all defined in a single file: the .github/labels.yml file. The sync-labels.yml workflow automatically runs whenever this file changes, and will update the repository's label to match the labels defined in the .github/labels.yml file. Note that is will remove any labels not in the .github/labels.yml file, so be careful with removing labels from the .github/labels.yml file.

The .github/labels.yml file is auto-generated by concatenating these two files:

Whenever one of these two files change, a pull request is automatically submitted to update the .github/labels.yml file. Merging that pull request will then trigger the sync-labels workflow, and the labels will be updated.

With this setup, we are able to guarantee that each repository can use both the Exercism-wide labels and any track-specific labels.

Tracking

exercism/v3-launch#41

@ErikSchierboom ErikSchierboom added the v3-migration 🤖 Preparing for Exercism v3 label Jun 9, 2021
@ErikSchierboom ErikSchierboom force-pushed the update-labels branch 2 times, most recently from 7e513ba to fd37332 Compare June 9, 2021 10:52
Copy link

@SaschaMann SaschaMann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The descriptions shouldn't be overwritten if they exist in the current labels.yml

Comment on lines 150 to 152
- name: "reputation/contributed_code/major"
description: "Code contribution is bigger than average"
color: "4DD2E1"

- name: "reputation/contributed_code/minor"
description: ""
color: "17E47E"
color: "0116C3"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes in these lines look wrong

color: "e6e6e6"

- name: "enhancement 🦄 ⭐"
description: "Changing current behaviour or enhancing/adding to what's already there."
color: "b5f7ff"
description: ""

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These should be ported to the appends, I think.

- .github/labels.yml
- .github/workflows/sync-labels.yml
schedule:
- cron: 0 0 * * 1

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This runs more often than before with 6 6 6 * *. I don't think that's really needed?

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's just once a week, which I felt was a nice compromise between your frequence and Elixir's frequency: https://github.com/exercism/elixir/blob/main/.github/workflows/sync-labels.yml 🤷

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A label sync build takes ~45s each. Across 284 repos, those extra 3 builds a month add up to ~10 CI hours extra a month. That seems excessive for something that is only meant to catch freak accidents in case a push somehow doesn't trigger a rebuild.

@ErikSchierboom ErikSchierboom force-pushed the update-labels branch 10 times, most recently from 7f5fd84 to 5bc22f8 Compare June 11, 2021 08:52
This commit adds a `.appends/.github/labels.yml` file, which contains the repo-specific labels. This file will automatically be combined with the Exercism-wide labels defined in https://github.com/exercism/org-wide-files/blob/main/global-files/.github/labels.yml to form the `.github/labels.yml` file.
This commit adds a `.github/labels.yml` file, which contains the full list of labels that this repo can use. This file is a combination of the `.appends/.github/labels.yml` file and the Exercism-wide labels defined in https://github.com/exercism/org-wide-files/blob/main/global-files/.github/labels.yml.
…bels.

This commit adds a `.github/workflow/sync-labels.yml` file, which defines a workflow that syncs this repository's labels with the contents of the `.github/labels.yml` file. The labels are synced automatically whenever the `.github/labels.yml` file changes.
@github-actions
Copy link

github-actions bot commented Jul 3, 2021

This pull request has been automatically marked as abandoned 🏚 because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions
Copy link

Closing stale pull request. If you are still working on this, please reopen this pull request.

@github-actions github-actions bot closed this Jul 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
abandoned 🏚 v3-migration 🤖 Preparing for Exercism v3
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants