ci: added pr linter workflow (#363)
parent
2aefbb6f95
commit
464fe71202
|
@ -0,0 +1,62 @@
|
|||
name: "🧐 [Lint] Checking IR files"
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths: '**.ir'
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
name: "🐛 Looking for issues"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# checkout IRDB
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
# checkout Linter
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
repository: 'darmiel/fff-ir-lint'
|
||||
path: fff-ir-lint
|
||||
|
||||
# only check files changed in the PR
|
||||
- name: Get Changed Files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v29.0.7
|
||||
with:
|
||||
files: "**/*.ir"
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.10'
|
||||
|
||||
- name: Run Linter if at least 1 IR File Changed
|
||||
uses: mathiasvr/command-output@v1.1.0
|
||||
id: run
|
||||
continue-on-error: true
|
||||
with:
|
||||
run: python fff-ir-lint/main.py github2 ${{ steps.changed-files.outputs.all_changed_files }}
|
||||
|
||||
- uses: ntsd/auto-request-changes-action@v2
|
||||
name: "❌ Request Changes"
|
||||
if: ${{ steps.run.outputs.stderr }}
|
||||
with:
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
comment-body: |
|
||||
${{ steps.run.outputs.stdout }}
|
||||
|
||||
# optional: auto approve PRs with valid .ir files
|
||||
- uses: hmarr/auto-approve-action@v2
|
||||
name: "✅ Approve Changes"
|
||||
if: ${{ ! steps.run.outputs.stderr }}
|
||||
with:
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
review-message: |
|
||||
> **Note**: This approval was *auto-generated*
|
||||
|
||||
LGTM! 😊
|
||||
|
||||
- name: Fail Pipeline
|
||||
if: ${{ steps.run.outputs.stderr }}
|
||||
run: exit 1
|
Loading…
Reference in New Issue