| commit | 43f1ac52e599520df6590d3b10983e4b9a378372 | [log] [tgz] |
|---|---|---|
| author | pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> | Mon Dec 07 20:30:42 2020 +0000 |
| committer | GitHub <noreply@github.com> | Mon Dec 07 20:30:42 2020 +0000 |
| tree | 3aa4a93d1c3316ea80c6e1f11742fa2b107b009a | |
| parent | d0b0a000b5bd950b80cf8b2865f1e1eed6435e4f [diff] |
[pre-commit.ci] pre-commit autoupdate
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@v2 - uses: actions/setup-python@v2 - uses: pre-commit/action@v2.0.0
This does a few things:
pre-commit cacheBy default, this action runs all the hooks against all the files. extra_args lets users specify a single hook id and/or options to pass to pre-commit run.
Here's a sample step configuration that only runs the flake8 hook against all the files (use the template above except for the pre-commit action):
- uses: pre-commit/action@v2.0.0 with: extra_args: flake8 --all-files
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.
using the template above, you'll make two replacements for individual actions:
first is the checkout step, which needs to use unlimited fetch depth for pushing
- uses: actions/checkout@v2 with: fetch-depth: 0
next is passing the token to the pre-commit action
- uses: pre-commit/action@v2.0.0 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!