Skip to content

Commit

Permalink
ci: split linter in two jobs (#819)
Browse files Browse the repository at this point in the history
  • Loading branch information
darmiel authored Oct 27, 2024
1 parent 29146ed commit 1fd8181
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 36 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "🧐 Checking IR Files"
name: Lint Check Pull Request

on:
pull_request:
Expand All @@ -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
Expand All @@ -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'
Expand All @@ -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! ❤️
Expand All @@ -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 changes: 39 additions & 0 deletions .github/workflows/pr-lint-comment.yaml
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 1fd8181

Please sign in to comment.