57 lines
1.4 KiB
YAML
57 lines
1.4 KiB
YAML
name: PR Lint Format
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- 'drivers/**'
|
|
- 'lib/arm_atsam/**'
|
|
- 'lib/lib8tion/**'
|
|
- 'lib/python/**'
|
|
- 'platforms/**'
|
|
- 'quantum/**'
|
|
- 'tests/**'
|
|
- 'tmk_core/**'
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
|
|
container: ghcr.io/qmk/qmk_cli
|
|
|
|
steps:
|
|
- name: Disable safe.directory check
|
|
run : git config --global --add safe.directory '*'
|
|
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
pip3 install -r requirements-dev.txt
|
|
|
|
- name: Get changed files
|
|
id: file_changes
|
|
uses: tj-actions/changed-files@v42
|
|
with:
|
|
use_rest_api: true
|
|
|
|
- name: Run qmk formatters
|
|
shell: 'bash {0}'
|
|
run: |
|
|
echo '${{ steps.file_changes.outputs.added_files}}' '${{ steps.file_changes.outputs.modified_files}}' > ~/files_changed.txt
|
|
qmk format-c --core-only $(< ~/files_changed.txt) || true
|
|
qmk format-python $(< ~/files_changed.txt) || true
|
|
qmk format-text $(< ~/files_changed.txt) || true
|
|
|
|
- name: Fail when formatting required
|
|
run: |
|
|
git diff
|
|
for file in $(git diff --name-only); do
|
|
echo "File '${file}' Requires Formatting"
|
|
echo "::error file=${file}::Requires Formatting"
|
|
done
|
|
test -z "$(git diff --name-only)"
|