diff options
Diffstat (limited to '.github/workflows/format.yml')
-rw-r--r-- | .github/workflows/format.yml | 51 |
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)" |