2024-10-27 13:36:43 +00:00
|
|
|
name: Lint Check Pull Request
|
2022-12-20 19:00:34 +00:00
|
|
|
|
|
|
|
on:
|
2023-12-13 14:05:50 +00:00
|
|
|
pull_request:
|
2024-10-27 00:19:27 +00:00
|
|
|
paths:
|
|
|
|
- '**/*.ir'
|
2022-12-20 19:00:34 +00:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
lint:
|
|
|
|
name: "🐛 Looking for issues"
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2024-10-27 00:19:27 +00:00
|
|
|
- uses: actions/checkout@v4
|
2022-12-20 19:00:34 +00:00
|
|
|
|
|
|
|
- name: Clean Script Directory
|
|
|
|
run: rm -rf fff-ir-lint
|
2024-10-27 00:19:27 +00:00
|
|
|
|
|
|
|
- uses: actions/checkout@v4
|
2022-12-20 19:00:34 +00:00
|
|
|
with:
|
|
|
|
repository: 'darmiel/fff-ir-lint'
|
|
|
|
path: fff-ir-lint
|
|
|
|
|
2024-10-27 00:19:27 +00:00
|
|
|
- name: Get changed files
|
2022-12-20 19:00:34 +00:00
|
|
|
id: changed-files
|
2024-10-27 00:19:27 +00:00
|
|
|
uses: tj-actions/changed-files@v45
|
2022-12-20 19:00:34 +00:00
|
|
|
with:
|
|
|
|
files: "**/*.ir"
|
2024-10-27 00:19:27 +00:00
|
|
|
json: true
|
2024-10-30 22:09:17 +00:00
|
|
|
safe_output: false
|
2024-10-27 00:19:27 +00:00
|
|
|
write_output_files: true
|
2022-12-20 19:00:34 +00:00
|
|
|
|
2024-10-27 00:25:30 +00:00
|
|
|
- name: Verify the contents of the .github/outputs/all_changed_files.json file
|
|
|
|
run: cat .github/outputs/all_changed_files.json
|
2024-10-27 00:19:27 +00:00
|
|
|
|
2024-10-27 13:36:43 +00:00
|
|
|
- name: list files
|
|
|
|
run: ls -larth .github/outputs
|
|
|
|
|
2024-10-27 00:19:27 +00:00
|
|
|
- uses: actions/setup-python@v5
|
2022-12-20 19:00:34 +00:00
|
|
|
with:
|
2024-10-27 00:19:27 +00:00
|
|
|
python-version: '3.10'
|
2022-12-20 19:00:34 +00:00
|
|
|
|
2024-10-27 00:19:27 +00:00
|
|
|
- name: Run Linter
|
|
|
|
id: run-linter
|
2022-12-20 19:00:34 +00:00
|
|
|
continue-on-error: true
|
2024-10-27 00:25:30 +00:00
|
|
|
run: LINTER_CONFIG=.fff-ir-lint.json python fff-ir-lint/main.py github2 json:.github/outputs/all_changed_files.json > .github/outputs/linter_output.txt
|
2024-10-27 00:19:27 +00:00
|
|
|
|
|
|
|
- name: Verify the contents of the .github/outputs/linter_output.txt file
|
|
|
|
run: cat .github/outputs/linter_output.txt
|
|
|
|
|
2024-10-27 13:36:43 +00:00
|
|
|
- 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
|
2022-12-20 19:00:34 +00:00
|
|
|
|
2024-10-27 00:19:27 +00:00
|
|
|
- name: Create comment body if linter found errors
|
|
|
|
if: ${{ steps.run-linter.outcome != 'success' }}
|
|
|
|
run: |
|
2024-10-27 13:36:43 +00:00
|
|
|
cat <<EOF > ./pr/comment_body.txt
|
2024-10-27 00:19:27 +00:00
|
|
|
<!-- [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
|
2024-10-27 13:36:43 +00:00
|
|
|
|
|
|
|
- name: Save comment body
|
|
|
|
uses: actions/upload-artifact@v4
|
2024-10-27 00:19:27 +00:00
|
|
|
with:
|
2024-10-27 13:36:43 +00:00
|
|
|
name: pr
|
|
|
|
path: pr/
|
2022-12-20 19:00:34 +00:00
|
|
|
|
2024-10-27 00:19:27 +00:00
|
|
|
- name: Fail Pipeline if Linter Found Issues
|
|
|
|
if: ${{ steps.run-linter.outcome == 'failure' }}
|
2024-10-30 22:09:17 +00:00
|
|
|
run: exit 1
|