commit | 4d8b5b87890c365f52615ce79f3547640ab537f2 | [log] [tgz] |
---|---|---|
author | Tzu-ping Chung <uranusjr@gmail.com> | Mon Mar 09 20:45:11 2020 +0800 |
committer | GitHub <noreply@github.com> | Mon Mar 09 20:45:11 2020 +0800 |
tree | 2ddc07864c67cc783aceff7e582191a5b6c3f306 | |
parent | ee269b64a608de770696d23079f46238c2f7ab5a [diff] |
Use python -c to get the interpreter path hash The current implementation has compatibility problems due to it using commands only available on GNU Linux. Use an equivalent Python implementation for better support on Windows and macOS. See pypa/pip#7835. Co-Authored-By: Xavier Fernandez <xavier.fernandez@polyconseil.fr>
a GitHub action to run pre-commit
To use this action, make a file .github/workflows/pre-commit.yml
. Here's a template to get started:
name: pre-commit on: pull_request: push: branches: [master] jobs: pre-commit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: actions/setup-python@v1 - name: set PY run: echo "::set-env name=PY::$(python -c 'import hashlib, sys;print(hashlib.sha256(sys.version.encode()+sys.executable.encode()).hexdigest())')" - uses: actions/cache@v1 with: path: ~/.cache/pre-commit key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} - uses: pre-commit/action@v1.0.1
This does a few things:
pre-commit
cacheHopefully in the future when actions
matures the yaml can be simplified.
this action also provides an additional behaviour when used in private repositories. when configured with a github token, the action will push back fixes to the pull request branch.
here's an example configuration for that (use the template above except for the pre-commit
action):
- uses: pre-commit/action@v1.0.1 with: token: ${{ secrets.GITHUB_TOKEN }}
note that secrets.GITHUB_TOKEN
is automatically provisioned and will not require any special configuration.
while you could technically configure this for a public repository (using a personal access token), I can't think of a way to do this safely without exposing a privileged token to pull requests -- if you have any ideas, please leave an issue!