Skip to content

Commit

Permalink
[CI] add action to label PRs based on title and draft releases (#327)
Browse files Browse the repository at this point in the history
* add action to label PRs based on title and draft releases
  • Loading branch information
eljohnson92 authored May 22, 2024
1 parent 87a2c65 commit 9ac46b3
Show file tree
Hide file tree
Showing 6 changed files with 141 additions and 62 deletions.
26 changes: 11 additions & 15 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,16 @@
<!-- If this is your first PR, welcome! Please make sure you read the [contributing guidelines](../CONTRIBUTING.md). -->

<!-- Please label this pull request according to what type of issue you are addressing (see ../CONTRIBUTING.md) -->
**What type of PR is this?**

<!--
Add one of the following kinds:
/kind feature
/kind bug
/kind api-change
/kind cleanup
/kind deprecation
/kind design
/kind documentation
/kind testing
<!-- Ensure your PR title complies with the following guidelines
1. All PRs titles should start with one of the following prefixes
- `[fix]` for PRs related to bug fixes and patches
- `[feat]` for PRs related to new features
- `[improvement]` for PRs related to improvements of existing features
- `[test]` for PRs related to tests
- `[CI]` for PRs related to repo CI improvements
- `[docs]` for PRs related to documentation updates
- `[deps]` for PRs related to dependency updates
2. if a PR introduces a breaking change it should include `[breaking]` in the title
3. if a PR introduces a deprecation it should include `[deprecation]` in the title
-->

**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Expand Down
51 changes: 31 additions & 20 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,35 @@
- name: added-feature
# PR Labels
- name: new-feature
description: for new features in the changelog.
color: a2eeef
- name: changed
description: for changes in existing functionality in the changelog.
color: a2eeef
- name: deprecated
description: for soon-to-be removed features in the changelog.
color: e4e669
- name: removed
description: for now removed features in the changelog.
color: e4e669
color: 225fee
- name: improvement
description: for improvements in existing functionality in the changelog.
color: 22ee47
- name: repo-ci-improvement
description: for improvements in the repository or CI workflow in the changelog.
color: c922ee
- name: bugfix
description: for any bug fixes in the changelog.
color: d73a4a
- name: security
description: for vulnerabilities in the changelog.
color: dd4739
- name: bug
description: Something isn't working in this issue.
color: d73a4a
color: ed8e21
- name: documentation
description: for updates to the documentation in the changelog.
color: d3e1e6
- name: dependencies
description: dependency updates including security fixes
color: 5c9dff
- name: testing
description: for updates to the testing suite in the changelog.
color: 933ac9
- name: breaking-change
description: for breaking changes in the changelog.
color: ff0000
- name: ignore-for-release
description: PRs you do not want to render in the changelog.
color: 7b8eac
# Issue Labels
- name: enhancement
description: New feature request in this issue.
color: a2eeef
description: issues that request a enhancement.
color: 22ee47
- name: bug
description: issues that report a bug.
color: ed8e21
76 changes: 61 additions & 15 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,67 @@
name-template: 'v$NEXT_PATCH_VERSION'
tag-template: 'v$NEXT_PATCH_VERSION'
exclude-labels:
- ignore-for-release
categories:
- title: '🚀 Added'
label: 'added-feature'
- title: '🧰 Changed'
label: 'changed'
- title: "⚠️ Deprecated"
label: "deprecated"
- title: "⚠️ Removed"
label: "removed"
- title: '🐛 Bug Fixes'
label: 'bugfix'
- title: "⚠️ Security"
label: "security"
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
- title: ⚠️ Breaking Change
labels:
- breaking-change
- title: 🐛 Bug Fixes
labels:
- bugfix
- title: 🚀 New Features
labels:
- new-feature
- title: 💡 Improvements
labels:
- improvement
- title: 🧪 Testing Improvements
labels:
- testing
- title: ⚙️ Repo/CI Improvements
labels:
- repo-ci-improvement
- title: 📖 Documentation
labels:
- documentation
- title: 📦 Dependency Updates
labels:
- dependencies
- title: Other Changes
labels:
- "*"
autolabeler:
- label: 'breaking-change'
title:
- '/.*\[breaking\].+/'
- label: 'deprecation'
title:
- '/.*\[deprecation\].+/'
- label: 'bugfix'
title:
- '/.*\[fix\].+/'
- label: 'new-feature'
title:
- '/.*\[feat\].+/'
- label: 'improvement'
title:
- '/.*\[improvement\].+/'
- label: 'testing'
title:
- '/.*\[test\].+/'
- label: 'repo-ci-improvement'
title:
- '/.*\[CI\].+/'
- '/.*\[ci\].+/'
- label: 'documentation'
title:
- '/.*\[docs\].+/'
- label: 'dependencies'
title:
- '/.*\[deps\].+/'

change-template: '- $TITLE by @$AUTHOR in #$NUMBER'
no-changes-template: "- No changes"
template: |
## Changes
## What's Changed
$CHANGES
1 change: 1 addition & 0 deletions .github/workflows/build_test_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ jobs:
storage.googleapis.com:443
cli.codecov.io:443
api.codecov.io:443
raw.githubusercontent.com:443
- uses: actions/checkout@v4

Expand Down
24 changes: 24 additions & 0 deletions .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Release Drafter

on:
push:
branches:
- master
pull_request:
types: [opened, reopened, synchronize]
pull_request_target:
types: [opened, reopened, synchronize]

permissions:
contents: read

jobs:
update_release_draft:
permissions:
contents: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25 changes: 13 additions & 12 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,19 +39,20 @@ Tips for a faster merge:
1. Fork the desired repo, develop and test your code changes.
1. See the [Development Guide](https://linode.github.io/cluster-api-provider-linode/developers/development.html) for more instructions on setting up your environment and testing changes locally.
2. Submit a pull request.
1. All PRs should be labeled with one of the following kinds
- `/kind feature` for PRs related to adding new features/tests
- `/kind bug` for PRs related to bug fixes and patches
- `/kind api-change` for PRs related to adding, removing, or otherwise changing an API
- `/kind cleanup` for PRs related to code refactoring and cleanup
- `/kind deprecation` for PRs related to a feature/enhancement marked for deprecation.
- `/kind design` for PRs related to design proposals
- `/kind documentation` for PRs related to documentation
- `/kind other` for PRs related to updating dependencies, minor changes or other
2. All code changes must be covered by unit tests and E2E tests.
3. All new features should come with user documentation.
1. All PRs titles should start with one of the following prefixes
- `[fix]` for PRs related to bug fixes and patches
- `[feat]` for PRs related to new features
- `[improvement]` for PRs related to improvements of existing features
- `[test]` for PRs related to tests
- `[CI]` for PRs related to repo CI improvements
- `[docs]` for PRs related to documentation updates
- `[deps]` for PRs related to dependency updates
2. if a PR introduces a breaking change it should include `[breaking]` in the title
3. if a PR introduces a deprecation it should include `[deprecation]` in the title
4. All code changes must be covered by unit tests and E2E tests.
5. All new features should come with user documentation.
3. Ensure that commit message(s) are be meaningful and commit history is readable.
5. All changes must be code reviewed. Refer to the following for code conventions and standards:
4. All changes must be code reviewed. Refer to the following for code conventions and standards:
- The official [Kubernetes developer guide](https://github.com/kubernetes/community/tree/master/contributors/devel)
- [Go Code Review Comments](https://go.dev/wiki/CodeReviewComments) identifies some common style mistakes when writing Go
- [Uber's Go Style Guide](https://github.com/uber-go/guide/blob/master/style.md) promotes preferred code conventions
Expand Down

0 comments on commit 9ac46b3

Please sign in to comment.