commit | b9549d1fa8d1524f60d6a446e7fa0fa4a13709f5 | [log] [tgz] |
---|---|---|
author | Anthony Sottile <asottile@umich.edu> | Mon Mar 09 07:21:24 2020 -0700 |
committer | GitHub <noreply@github.com> | Mon Mar 09 07:21:24 2020 -0700 |
tree | 2ddc07864c67cc783aceff7e582191a5b6c3f306 | |
parent | ee269b64a608de770696d23079f46238c2f7ab5a [diff] | |
parent | 4d8b5b87890c365f52615ce79f3547640ab537f2 [diff] |
Merge pull request #14 from uranusjr/cache-key-python-impl Use python -c to get the interpreter path hash
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!