mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-10-04 11:16:33 +08:00

Using the pull-request-comments-from-clang-tidy-reports GH action https://github.com/marketplace/actions/pull-request-comments-from-clang-tidy-reports Which is possible because the printer-linter auto puts the suggested fixes in the same format as clang-tidy. It consists of two workflows, to ensure safe handling of forks PR's. The first workflows is the analysis and the suggested fixes, these are then upload to the second workflow which will use the suggested fixes to past comments on the PR
60 lines
2.2 KiB
YAML
60 lines
2.2 KiB
YAML
name: printer-linter-pr-diagnose
|
|
|
|
on:
|
|
pull_request:
|
|
path:
|
|
- 'resources/**'
|
|
|
|
jobs:
|
|
printer-linter-diagnose:
|
|
name: Printer linter PR diagnose
|
|
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 2
|
|
|
|
- name: Setup Python and pip
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.11.x
|
|
cache: 'pip'
|
|
cache-dependency-path: .github/workflows/requirements-printer-linter.txt
|
|
|
|
- uses: technote-space/get-diff-action@v6
|
|
with:
|
|
PATTERNS: |
|
|
resources/+(extruders|definitions)/*.def.json
|
|
resources/+(intent|quality|variants)/**/*.inst.cfg
|
|
|
|
- name: Install Python requirements for runner
|
|
if: env.GIT_DIFF && !env.MATCHED_FILES
|
|
run: pip install -r .github/workflows/requirements-printer-linter.txt
|
|
|
|
- name: Create results directory
|
|
run: mkdir printer-linter-result
|
|
|
|
- name: Diagnose file(s)
|
|
if: env.GIT_DIFF && !env.MATCHED_FILES
|
|
run: python printer-linter/src/terminal.py --diagnose --report printer-linter-result/fixes.yml ${{ env.GIT_DIFF_FILTERED }}
|
|
|
|
- name: Save PR metadata
|
|
run: |
|
|
echo ${{ github.event.number }} > printer-linter-result/pr-id.txt
|
|
echo ${{ github.event.pull_request.head.repo.full_name }} > printer-linter-result/pr-head-repo.txt
|
|
echo ${{ github.event.pull_request.head.ref }} > printer-linter-result/pr-head-ref.txt
|
|
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: printer-linter-result
|
|
path: printer-linter-result/
|
|
|
|
- name: Run clang-tidy-pr-comments action
|
|
uses: platisd/clang-tidy-pr-comments@master
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
clang_tidy_fixes: result.yml
|
|
request_changes: true
|