Merge pull request #1 from RyanLua/autoresponder

Add a workflow for checking issue versions
This commit is contained in:
Ryan Luu 2024-11-01 12:41:36 -07:00 committed by GitHub
commit a4bd88dc0c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -0,0 +1,73 @@
name: Bug Report Version Check
on:
issues:
types: [opened]
jobs:
check-bug-report:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Read Bloxstrap version from .csproj
id: read-version
run: |
version=$(grep -oPm1 "(?<=<Version>)[^<]+" Bloxstrap.csproj)
echo "::set-output name=version::$version"
- name: Check issue body for Bloxstrap version
uses: actions/github-script@v7
id: check-issue
with:
script: |
const issueBody = context.payload.issue.body;
const versionHeader = issueBody.match(/### Bloxstrap Version/);
const versionMatch = issueBody.match(/v\d+\.\d+\.\d+/);
const latestVersion = '${{ steps.read-version.outputs.version }}';
if (!versionHeader) {
await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'Please include the "### Bloxstrap Version" header in your bug report.'
});
return github.rest.issues.update({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
state: 'closed'
});
}
if (!versionMatch) {
await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'Please specify the Bloxstrap version you are using.'
});
return github.rest.issues.update({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
state: 'closed'
});
}
const issueVersion = versionMatch[0];
if (issueVersion !== latestVersion) {
await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `You are using an outdated version of Bloxstrap (${issueVersion}). Please update to the latest version (${latestVersion}).`
});
return github.rest.issues.update({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
state: 'closed'
});
}