summary refs log tree commit diff
path: root/.github/workflows/format.yml
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2022-04-03 13:18:28 +0100
committerGitHub <noreply@github.com>2022-04-03 13:18:28 +0100
commit27ae37d626ca534be196bf4a0bdffa8e03a5a159 (patch)
tree7fe8c0fad8360c6b01c2aa2ec773dd68b0a71e20 /.github/workflows/format.yml
parent61bd61347ab1739524f375871407d54436f4c68e (diff)
Align action workflow filenames (#16776)
Diffstat (limited to '.github/workflows/format.yml')
-rw-r--r--.github/workflows/format.yml51
1 files changed, 51 insertions, 0 deletions
diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml
new file mode 100644
index 0000000000..ba0a86aa78
--- /dev/null
+++ b/.github/workflows/format.yml
@@ -0,0 +1,51 @@
+name: PR Lint Format
+
+on:
+  pull_request:
+    paths:
+    - 'drivers/**'
+    - 'lib/arm_atsam/**'
+    - 'lib/lib8tion/**'
+    - 'lib/python/**'
+    - 'platforms/**'
+    - 'quantum/**'
+    - 'tests/**'
+    - 'tmk_core/**'
+
+jobs:
+  lint:
+    runs-on: ubuntu-latest
+
+    container: qmkfm/qmk_cli
+
+    steps:
+    - uses: actions/checkout@v2
+      with:
+        fetch-depth: 0
+
+    - name: Install dependencies
+      run: |
+        pip3 install -r requirements-dev.txt
+
+    - uses: trilom/file-changes-action@v1.2.4
+      id: file_changes
+      with:
+        output: ' '
+        fileOutput: ' '
+
+    - name: Run qmk formatters
+      shell: 'bash {0}'
+      run: |
+        cat ~/files_added.txt ~/files_modified.txt > ~/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)"