GitHub Action
reports-check-action
Bug Reports (GitHub Issues) Quality Checker.
Motivation. The quality of bug reports is paramount for the overall quality of a software project: poorly formulated bug reports often lead to wasted time, programmers frustration, and delays. This repository is a Github Action that would trigger on every new issue submitted, check that issue for quality problems, and report them in the issue as a comment, asking bug reporter to fix the report.
Consider this configuration:
name: reports-check
on:
issues:
types: opened
jobs:
check:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: tracehubpm/reports-check-action@latest
with:
openai_token: ${{ secrets.OPENAI_TOKEN }}
# or you can use Deep Infra models:
# deepinfra_token: ${{ secrets.DEEPINFRA_TOKEN }}
github_token: ${{ secrets.GH_TOKEN }}
Quality checker can be configured the way you want. These are the parameters you can use/override:
openai_token
: Open AI API key, you can obtain it here.github_token
: GitHub token to post messages in the issue's comments.openai_model
: Open AI ChatGPT model, the default one isgpt-4
.deepinfra_token
: Deep Infra API key, you can obtain it here.deepinfra_model
: Deep Infra API model, the default one isPhind/Phind-CodeLlama-34B-v2
, check out all available models.
Each bug report goes through quality evaluation process, where your report will be assessed by those criteria:
- Bug report has steps to reproduce.
- Bug report is saying what is expected to see.
- Bug report is saying what you saw instead.
- Bug report has its location, like class, file, or simple runnable example.
If your bug report does not match at least 3 criteria, it will be rejected automatically by robot.
Quality criteria are based on several researches, including:
- Painless Bug Tracking, by Joel Spolsky, 2000
- What Makes a Satisficing Bug Report? by Tommaso Dal Sasso, Andrea Mocci, and Michele Lanza, 2016
Fork repository, make changes, send us a pull request.
We will review your changes and apply them to the master
branch shortly,
provided they don't violate our quality standards. To avoid frustration,
before sending us your pull request please run full build:
$ npm install
$ npm run gha