summary refs log tree commit diff
path: root/.github
diff options
context:
space:
mode:
authorZach White <skullydazed@gmail.com>2021-05-10 11:18:44 -0700
committerGitHub <noreply@github.com>2021-05-10 11:18:44 -0700
commita3e7f3e7c58ee98596ead5c213f3a9ed8340cd80 (patch)
treeef0cb85205fad7562045f23caa8a16384e43bbb5 /.github
parent66ed80ad3a0edecd9d7abbef71fc2a6e3e59b541 (diff)
Improve our CI tests (#11476)
* add a test and dry-run to qmk generate-api

* add a dry-run to qmk pyformat

* Add a --dry-run to qmk cformat

* reverse the order of nose2 and flake8 tests

* run CI test against cformat and pyformat

* fix programming errors

* tweak job name

* fix argument

* refine the files we select

* fix stack trace in --ci

* make cformat exit clean

* fix c file extensions

* decouple CI from pyformat

* remove --ci arg

* make ci happy

* use the environment var instead

* change output to text

* fix log message

* replace tabs
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/format.yaml57
1 files changed, 26 insertions, 31 deletions
diff --git a/.github/workflows/format.yaml b/.github/workflows/format.yaml
index 201f3c230f..6d13e78945 100644
--- a/.github/workflows/format.yaml
+++ b/.github/workflows/format.yaml
@@ -1,47 +1,42 @@
-name: Format Codebase
+name: PR Lint Format
 
 on:
-  push:
-    branches:
-    - master
-    - develop
+  pull_request:
+    paths:
+    - 'drivers/**'
+    - 'lib/arm_atsam/**'
+    - 'lib/lib8tion/**'
+    - 'lib/python/**'
+    - 'platforms/**'
+    - 'quantum/**'
+    - 'tests/**'
+    - 'tmk_core/**'
 
 jobs:
-  format:
+  lint:
     runs-on: ubuntu-latest
-    container: qmkfm/base_container
 
-    # protect against those who develop with their fork on master
-    if: github.repository == 'qmk/qmk_firmware'
+    container: qmkfm/base_container
 
     steps:
     - uses: rlespinasse/github-slug-action@v3.x
 
     - uses: actions/checkout@v2
       with:
-        token: ${{ secrets.API_TOKEN_GITHUB }}
-
-    - name: Install dependencies
-      run: |
-        apt-get update && apt-get install -y dos2unix
+        fetch-depth: 0
 
-    - name: Format files
-      run: |
-        bin/qmk cformat -a
-        bin/qmk pyformat
-        bin/qmk fileformat
+    - uses: trilom/file-changes-action@v1.2.4
+      id: file_changes
+      with:
+        output: ' '
+        fileOutput: ' '
 
-    - name: Become QMK Bot
+    - name: Run qmk cformat and qmk pyformat
+      shell: 'bash {0}'
       run: |
-        git config user.name 'QMK Bot'
-        git config user.email 'hello@qmk.fm'
+        qmk cformat -n $(< ~/files.txt)
+        cformat_exit=$?
+        qmk pyformat -n
+        pyformat_exit=$?
 
-    - name: Create Pull Request
-      uses: peter-evans/create-pull-request@v3
-      with:
-        delete-branch: true
-        branch: bugfix/format_${{ env.GITHUB_REF_SLUG }}
-        author: QMK Bot <hello@qmk.fm>
-        committer: QMK Bot <hello@qmk.fm>
-        commit-message: Format code according to conventions
-        title: '[CI] Format code according to conventions'
+        exit $((cformat_exit + pyformat_exit))