This is an automated email from the ASF dual-hosted git repository. kamilbregula pushed a commit to tag v2.0.0 in repository https://gitbox.apache.org/repos/asf/airflow-pre-commit-action.git
commit 043c690cdeda96dfe382b617e372e08a18de5e42 Author: Github Actions <[email protected]> AuthorDate: Mon Nov 25 03:28:57 2019 +0000 Deployed to github pages --- README.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ action.yml | 9 +++++++++ dist/index.js | 15 ++++++++++++++ 3 files changed, 87 insertions(+) diff --git a/README.md b/README.md new file mode 100644 index 0000000..c080e77 --- /dev/null +++ b/README.md @@ -0,0 +1,63 @@ +[](https://github.com/pre-commit/action/actions) + +pre-commit/action +================= + +a GitHub action to run [pre-commit](https://pre-commit.com) + +### using this action + +To use this action, make a file `.github/workflows/pre-commit.yml`. Here's a +template to get started: + +```yaml +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 --version --version | sha256sum | cut -d' ' -f1)" + - uses: actions/cache@v1 + with: + path: ~/.cache/pre-commit + key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} + - uses: pre-commit/[email protected] +``` + +This does a few things: + +- clones the code +- installs python +- sets up the `pre-commit` cache + +Hopefully in the future when `actions` matures the yaml can be simplified. + +### using this action in private repositories + +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): + +```yaml + - uses: pre-commit/[email protected] + 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! diff --git a/action.yml b/action.yml new file mode 100644 index 0000000..941ec1d --- /dev/null +++ b/action.yml @@ -0,0 +1,9 @@ +name: pre-commit +description: run pre-commit and optionally commit back to the pull request +inputs: + token: + description: github token to clone / push with + required: false +runs: + using: 'node12' + main: 'dist/index.js' diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..2797265 --- /dev/null +++ b/dist/index.js @@ -0,0 +1,15 @@ +!function(e){var r={};function t(i){if(r[i])return r[i].exports;var n=r[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,t),n.l=!0,n.exports}t.m=e,t.c=r,t.d=function(e,r,i){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:i})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typ [...] +/*! + * is-plain-object <https://github.com/jonschlinkert/is-plain-object> + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +function i(e){return!0==(null!=(r=e)&&"object"==typeof r&&!1===Array.isArray(r))&&"[object Object]"===Object.prototype.toString.call(e); +/*! + * isobject <https://github.com/jonschlinkert/isobject> + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +var r}function n(e){var r,t;return!1!==i(e)&&("function"==typeof(r=e.constructor)&&(!1!==i(t=r.prototype)&&!1!==t.hasOwnProperty("isPrototypeOf")))}t.r(r),t.d(r,"default",(function(){return n}))},function(e,r){e.exports=require("https")},function(e,r,t){const i=t(23),n=t(25),o=t(27),s=["run","--all-files","--show-diff-on-failure","--color=always"];(async function(){await i.group("install pre-commit",async()=>{await n.exec("pip",["install","pre-commit"]),await n.exec("pip",["freeze","--lo [...] \ No newline at end of file
