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 "(?<=)[^<]+" 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' }); }