Flipper-IRDB/.github/workflows/pr-lint.yaml

103 lines
3.8 KiB
YAML
Raw Normal View History

name: "🧐 Checking IR Files"
on:
pull_request:
paths:
- '**/*.ir'
jobs:
lint:
name: "🐛 Looking for issues"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: Clean Script Directory
run: rm -rf fff-ir-lint
- uses: actions/checkout@v4
with:
repository: 'darmiel/fff-ir-lint'
path: fff-ir-lint
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v45
with:
files: "**/*.ir"
json: true
write_output_files: true
sha: ${{ github.event.pull_request.head.sha }}
- name: Verify the contents of the .github/outputs/added_files.json file
run: cat .github/outputs/added_files.json
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Run Linter
id: run-linter
continue-on-error: true
run: LINTER_CONFIG=.fff-ir-lint.json python fff-ir-lint/main.py github2 json:.github/outputs/added_files.json > .github/outputs/linter_output.txt
- name: Verify the contents of the .github/outputs/linter_output.txt file
run: cat .github/outputs/linter_output.txt
- name: Find Comment from Linter
uses: peter-evans/find-comment@v3
if: ${{ github.event.pull_request.head.repo.full_name == 'Lucaslhm/Flipper-IRDB' }} # does not work in forks
id: fc
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]'
body-includes: '<!-- [lint] -->'
- name: Create or update comment if linter found no errors
uses: peter-evans/create-or-update-comment@v4
if: ${{ steps.run-linter.outcome == 'success' && github.event.pull_request.head.repo.full_name == 'Lucaslhm/Flipper-IRDB' }} # does not work in forks
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body: |
<!-- [lint] -->
Thank you for your contribution! ❤️
**The linter found no issues. 🎉**
edit-mode: replace
- name: Create comment body if linter found errors
if: ${{ steps.run-linter.outcome != 'success' }}
run: |
cat <<EOF > .github/outputs/comment_body.txt
<!-- [lint] -->
Thank you for your contribution! ❤️
We use an automated linter to ensure consistency. During the review of the \`.ir\` files in your pull request, it found the following issue(s):
<details>
<summary><strong>🐛 Linter Result</strong> <i>(Click to open)</i></summary>
$(cat .github/outputs/linter_output.txt)
</details>
Please address these issues and update your pull request. Once the problems are resolved, the linter will re-check your changes.
EOF
- name: Create or update comment if linter found errors
uses: peter-evans/create-or-update-comment@v4
if: ${{ steps.run-linter.outcome != 'success' && github.event.pull_request.head.repo.full_name == 'Lucaslhm/Flipper-IRDB' }} # does not work in forks
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
body-path: .github/outputs/comment_body.txt
edit-mode: replace
- name: Fail Pipeline if Linter Found Issues
if: ${{ steps.run-linter.outcome == 'failure' }}
2023-02-25 17:11:37 +00:00
run: exit 1