# SPDX-FileCopyrightText: Copyright (c) 2019 Anthony Sottile # # SPDX-License-Identifier: MIT name: pre-commit on: pull_request: push: concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: pre-commit: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2.2.0 - name: Set up Python 3 uses: actions/setup-python@v2 with: python-version: "3.x" - name: Install deps run: | sudo apt-add-repository -y -u ppa:pybricks/ppa sudo apt-get install -y gettext uncrustify pip3 install black polib pyyaml - name: Populate selected submodules run: git submodule update --init extmod/ulab - name: Set PY run: echo >>$GITHUB_ENV PY="$(python -c 'import hashlib, sys;print(hashlib.sha256(sys.version.encode()+sys.executable.encode()).hexdigest())')" - uses: actions/cache@v2 with: path: ~/.cache/pre-commit key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} - uses: pre-commit/action@v1.1.0 - name: Make patch if: failure() run: git diff > ~/pre-commit.patch - name: Upload patch if: failure() uses: actions/upload-artifact@v2 with: name: patch path: ~/pre-commit.patch