ci: split linter in two jobs (#819)

This commit is contained in:
Daniel 2024-10-27 14:36:43 +01:00 committed by GitHub
parent 29146ed9c8
commit 1fd8181086
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 65 additions and 36 deletions

View File

@ -1,4 +1,4 @@
name: "🧐 Checking IR Files"
name: Lint Check Pull Request
on:
pull_request:
@ -11,9 +11,6 @@ jobs:
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
@ -30,11 +27,13 @@ jobs:
files: "**/*.ir"
json: true
write_output_files: true
sha: ${{ github.event.pull_request.head.sha }}
- name: Verify the contents of the .github/outputs/all_changed_files.json file
run: cat .github/outputs/all_changed_files.json
- name: list files
run: ls -larth .github/outputs
- uses: actions/setup-python@v5
with:
python-version: '3.10'
@ -47,32 +46,26 @@ jobs:
- 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.base.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.base.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! ❤️
- name: Save PR number
run: |
rm -rf pr/ || true
mkdir -p pr/
echo ${{ github.event.number }} > ./pr/NR
- name: Create comment body if linter found no errors
if: ${{ steps.run-linter.outcome == 'success' }}
run: |
cat <<EOF > ./pr/comment_body.txt
<!-- [lint] -->
Thank you for your contribution! ❤️
**The linter found no issues. 🎉**
EOF
**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
cat <<EOF > ./pr/comment_body.txt
<!-- [lint] -->
Thank you for your contribution! ❤️
@ -87,16 +80,13 @@ jobs:
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.base.repo.full_name == 'Lucaslhm/Flipper-IRDB' }} # does not work in forks
- name: Save comment body
uses: actions/upload-artifact@v4
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: pr
path: pr/
- name: Fail Pipeline if Linter Found Issues
if: ${{ steps.run-linter.outcome == 'failure' }}
run: exit 1
run: exit 1

39
.github/workflows/pr-lint-comment.yaml vendored Normal file
View File

@ -0,0 +1,39 @@
name: Lint Comment Pull Request
on:
workflow_run:
workflows: [Lint Check Pull Request]
types:
- completed
jobs:
comment:
name: "🐛 Comment Linter Warnings"
runs-on: ubuntu-latest
if: >
github.event.workflow_run.event == 'pull_request'
steps:
- name: "Download artifact"
uses: dawidd6/action-download-artifact@v6
with:
run_id: ${{ github.event.workflow_run.id }}
- name: Set PR Number as Environment Variable
id: set-pr-number-output
run: echo "PR_NUMBER=$(cat ./pr/NR)" >> $GITHUB_ENV
- name: Find Comment from Linter
uses: peter-evans/find-comment@v3
id: fc
with:
issue-number: ${{ env.PR_NUMBER }}
comment-author: 'github-actions[bot]'
body-includes: '<!-- [lint] -->'
- name: Create or Update Comment
uses: peter-evans/create-or-update-comment@v4
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ env.PR_NUMBER }}
body-path: ./pr/comment_body.txt
edit-mode: replace