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

PR template fixes #34

Merged
merged 4 commits into from
Jul 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/01-add-an-alternative.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Add an alternative to the list
about: Suggest the inclusion of a new mod that can replace an Essential function.
title: "Add [mod] to the alternatives page."
labels: enhancement
labels: add mod
assignees:
- KTrain5169
- blryface
Expand Down
12 changes: 3 additions & 9 deletions .github/PULL_REQUEST_TEMPLATE/01-add-an-alternative.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
---
name: Adding new alternative
about: Select this if you are adding a new mod to the alternatives page.
title: "add: [mod name] to alternatives page"
labels: enhancement
assignees:
- KTrain5169
- blryface
---
# Alternative addition template

<!-- Use this template if you are adding an alternative to Essential. DO NOT DELETE ABOVE -->

## What part(s) of Essential does this mod replace?

Expand Down
12 changes: 3 additions & 9 deletions .github/PULL_REQUEST_TEMPLATE/02-site-changes.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
---
name: Site changes
about: Select this if you changed the website in a different way.
title: "change/fix (choose one): [short description of the change]"
labels: enhancement
assignees:
- blryface
- WorldWidePixel
---
# Site changes template

<!-- Use this template if changing the site. DO NOT DELETE ABOVE-->

## Are there major changes (ex: signficantly revamping the website visuals) that we NEED to know about?

Expand Down
10 changes: 3 additions & 7 deletions .github/PULL_REQUEST_TEMPLATE/03-chore-stuff.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
---
name: Other stuff that won't affect what people see
about: Select this if you are modifying something that won't affect what other people see on the site.
title: "chore: [short description of changes go here]"
labels: documentation
assignees: KTrain5169
---
# Chore/documentation template

<!-- if you didn't change anything about the website, use this template. DO NOT DELETE THE ABOVE LINE-->

## What have you changed?

Expand Down
4 changes: 4 additions & 0 deletions .github/pull_request_template.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
pull_request_templates:
- .github/PULL_REQUEST_TEMPLATE/01-add-an-alternative.md
- .github/PULL_REQUEST_TEMPLATE/02-site-changes.md
- .github/PULL_REQUEST_TEMPLATE/03-chore-stuff.md
13 changes: 13 additions & 0 deletions .github/workflows/first_contrib.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Greetings

on: [pull_request, issues]

jobs:
greeting:
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
issue-message: "Hello! We've detected that this is your first issue here! If so, thank you! Please make sure everything in your template is correct!"
pr-message: "Hello! We've detected that this is your first PR here! If so, thank you! Please make sure everything in your template is correct and that you've reviewed our contributing guidelines, found here: https://notessential.blurryface.xyz/contributing"
81 changes: 81 additions & 0 deletions .github/workflows/pr_management.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Auto Label PRs, then add assignees and reviewers automatically.

on:
pull_request:
types: [opened, edited, synchronize]

jobs:
add_labels_reviewers_assignees:
name: Add labels, then reviewers & assignees
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Label PR based on content
id: label-pr
uses: actions/github-script@v7
with:
script: |
const labels = {
'alternative addition template': 'add mod',
'site changes template': 'enhancement',
'chore/documentation template': 'documentation'
};

const body = context.payload.pull_request.body.toLowerCase();

const foundLabels = Object.entries(labels)
.filter(([keyword]) => body.includes(keyword))
.map(([, label]) => label);

if (foundLabels.length > 0) {
await github.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
labels: foundLabels
});
}

return { labels: foundLabels };

- name: Set Reviewers and Assignees
if: steps.label-pr.outputs.labels != '[]'
uses: actions/github-script@v7
with:
script: |
const labelToReviewers = {
'add mod': ['KTrain5169', 'blryface'],
'enhancement': ['WorldWidePixel', 'Nitrrine'],
'documentation': ['blryface', 'KTrain5169', 'WorldWidePixel']
};

const labels = JSON.parse('${{ steps.label-pr.outputs.labels }}').labels;
const reviewers = new Set();

labels.forEach(label => {
(labelToReviewers[label] || []).forEach(reviewer => reviewers.add(reviewer));
});

if (reviewers.size > 0) {
await github.pulls.requestReviewers({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.payload.pull_request.number,
reviewers: Array.from(reviewers)
});
}

await github.issues.addAssignees({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
assignees: [context.payload.pull_request.user.login]
});

- name: Comment on PRs
uses: dannyskoog/pull-request-comment@v1
with:
message: I've labeled your PR, assigned you and requested reviews from the relevant people automatically. If you think I did it wrong, please comment below so one of our maintainers can double-check. Thanks!
Loading