Skip to content

Commit

Permalink
Support version specifiers in GH action (#3265)
Browse files Browse the repository at this point in the history
Co-authored-by: Richard Si <63936253+ichard26@users.noreply.github.com>
  • Loading branch information
Jackenmen and ichard26 committed Sep 23, 2022
1 parent 4c99900 commit bfc013a
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 6 deletions.
3 changes: 3 additions & 0 deletions CHANGES.md
Expand Up @@ -47,6 +47,9 @@

<!-- For example, Docker, GitHub Actions, pre-commit, editors -->

- Update GitHub Action to support use of version specifiers (e.g. `<23`) for Black
version (#3265)

### Documentation

<!-- Major changes to documentation and policies. Small docs changes
Expand Down
7 changes: 4 additions & 3 deletions action/main.py
Expand Up @@ -14,9 +14,10 @@

run([sys.executable, "-m", "venv", str(ENV_PATH)], check=True)

req = "black[colorama]"
if VERSION:
req += f"=={VERSION}"
version_specifier = VERSION
if VERSION and VERSION[0] in "0123456789":
version_specifier = f"=={VERSION}"
req = f"black[colorama]{version_specifier}"
pip_proc = run(
[str(ENV_BIN / "python"), "-m", "pip", "install", req],
stdout=PIPE,
Expand Down
21 changes: 18 additions & 3 deletions docs/integrations/github_actions.md
Expand Up @@ -32,9 +32,12 @@ We recommend the use of the `@stable` tag, but per version tags also exist if yo
that. Note that the action's version you select is independent of the version of _Black_
the action will use.

The version of _Black_ the action will use can be configured via `version`. The action
defaults to the latest release available on PyPI. Only versions available from PyPI are
supported, so no commit SHAs or branch names.
The version of _Black_ the action will use can be configured via `version`. This can be
any
[valid version specifier](https://packaging.python.org/en/latest/glossary/#term-Version-Specifier)
or just the version number if you want an exact version. The action defaults to the
latest release available on PyPI. Only versions available from PyPI are supported, so no
commit SHAs or branch names.

You can also configure the arguments passed to _Black_ via `options` (defaults to
`'--check --diff'`) and `src` (default is `'.'`)
Expand All @@ -48,3 +51,15 @@ Here's an example configuration:
src: "./src"
version: "21.5b1"
```

If you want to match versions covered by Black's
[stability policy](labels/stability-policy), you can use the compatible release operator
(`~=`):

```yaml
- uses: psf/black@stable
with:
options: "--check --verbose"
src: "./src"
version: "~= 22.0"
```

0 comments on commit bfc013a

Please sign in to comment.