commit | 4a08748ace346be6b06cec8872f8f47006efc238 | [log] [tgz] |
---|---|---|
author | Trim21 <i@trim21.me> | Mon Jun 08 22:56:46 2020 +0800 |
committer | Anthony Sottile <asottile@umich.edu> | Sat Jun 13 12:43:57 2020 -0700 |
tree | 2a0f25aaeecb3a4b4bfd1450499dcbcb9197b405 | |
parent | 7d1e41a366c8cf690e5cfe232f14cca1d478c628 [diff] |
embedding cache steps by using @actions/cache
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 - uses: pre-commit/action@v1.1.1
This does a few things:
pre-commit
cacheHopefully in the future when actions
matures the yaml can be simplified.
By 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@v1.1.1 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.
here's an example configuration for that (use the template above except for the pre-commit
action):
- uses: pre-commit/action@v1.1.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!