Skip to content

Commit

Permalink
ci: add labeller and labels script
Browse files Browse the repository at this point in the history
  • Loading branch information
Tchoupinax committed Dec 15, 2024
1 parent f92b360 commit 546f9ad
Show file tree
Hide file tree
Showing 4 changed files with 123 additions and 0 deletions.
45 changes: 45 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
version: v1
labels:
- label: "semver:major"
sync: true # remove label if match failed, default: false
matcher:
title: ".*BREAKING.*"

- label: "semver:minor"
sync: true # remove label if match failed, default: false
matcher:
title: "^feat(?!.*BREAKING).*"

- label: "semver:patch"
sync: true # remove label if match failed, default: false
matcher:
title: "^fix(?!.*BREAKING).*"

- label: "maintenance"
sync: true # remove label if match failed, default: false
matcher:
title: "^chore(?!.*BREAKING).*"
files:
any:
- "package.json"

- label: "CI/CD"
sync: true # remove label if match failed, default: false
matcher:
files:
any:
- ".github/**"

- label: "docs"
sync: true # remove label if match failed, default: false
matcher:
files:
any:
- "**/*.md"

- label: "manifest"
sync: true # remove label if match failed, default: false
matcher:
files:
any:
- "action.yml"
23 changes: 23 additions & 0 deletions .github/update-labels.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash

REPO_NAME="iggy-rs/iggy"
API_URL="https://api.github.com/repos/$REPO_NAME/labels"

create_label() {
local name="$1"
local color="$2"
local description="$3"

curl -X POST -H "Authorization: token $GITHUB_TOKEN" -H "Accept: application/vnd.github.v3+json" \
-d '{"name": "'"$name"'", "color": "'"$color"'", "description": "'"$description"'"}' \
"$API_URL"
}

create_label "CI/CD" "93ecdb" "Pull requests bring CI/CD improvements."
create_label "docs" "0075ca" "Improvements or additions to documentation."
create_label "duplicate" "cfd3d7" "This issue or pull request already exists."
create_label "maintenance" "ed4d86" "Maintenance work."
create_label "manifest" "D93F0B" "Label for pull request that brings a patch change."
create_label "semver:major" "8151c5" "Label for pull request that brings a major (BREAKING) change."
create_label "semver:minor" "8af85b" "Label for pull request that brings a minor change."
create_label "semver:patch" "fef2c0" "Label for pull request that brings a patch change."
32 changes: 32 additions & 0 deletions .github/workflows/main-update-labels.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Update repository labels
on:
push:
branches:
- main
paths:
- ".github/workflows/uptdate-label.yml"
- ".github/update-labels.sh"

jobs:
checks:
name: Update labels
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 1

- uses: actions/create-github-app-token@v1
id: app-token
with:
app-id: ${{ secrets.DEPLOY_APP_ID }}
private-key: ${{ secrets.DEPLOY_APP_KEY }}

- name: Call script
env:
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
run: |
chmod +x .github/update-labels.sh
.github/update-labels.sh
23 changes: 23 additions & 0 deletions .github/workflows/pull-request-relabelling.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Relabelling
on:
pull_request:

jobs:
check-labels:
name: Relabelling
runs-on: ubuntu-latest
permissions:
pull-requests: write

steps:
- uses: actions/create-github-app-token@v1
id: app-token
with:
app-id: ${{ secrets.DEPLOY_APP_ID }}
private-key: ${{ secrets.DEPLOY_APP_KEY }}

# https://github.com/fuxingloh/multi-labeler
- name: labels
uses: fuxingloh/multi-labeler@v4
with:
github-token: ${{ steps.app-token.outputs.token }}

0 comments on commit 546f9ad

Please sign in to comment.