Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rickstaa/action-black
Runs the psf/black formatter to check/format your python code.
https://github.com/rickstaa/action-black
black codequality continuous-integration docker formatter gh-action github-actions github-actions-docker python
Last synced: about 2 months ago
JSON representation
Runs the psf/black formatter to check/format your python code.
- Host: GitHub
- URL: https://github.com/rickstaa/action-black
- Owner: rickstaa
- License: mit
- Created: 2021-01-06T14:52:37.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-24T19:39:21.000Z (9 months ago)
- Last Synced: 2024-10-20T04:05:07.824Z (2 months ago)
- Topics: black, codequality, continuous-integration, docker, formatter, gh-action, github-actions, github-actions-docker, python
- Language: Shell
- Homepage: https://github.com/marketplace/actions/run-black-formatter
- Size: 54.7 KB
- Stars: 38
- Watchers: 2
- Forks: 12
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Action-black GitHub Action
[![Test](https://github.com/rickstaa/action-black/workflows/Test/badge.svg)](https://github.com/rickstaa/action-black/actions?query=workflow%3ATest)
[![release](https://github.com/rickstaa/action-black/workflows/release/badge.svg)](https://github.com/rickstaa/action-black/actions?query=workflow%3Arelease)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/rickstaa/action-black?logo=github\&sort=semver)](https://github.com/rickstaa/action-black/releases)
[![action-bumpr supported](https://img.shields.io/badge/bumpr-supported-ff69b4?logo=github\&link=https://github.com/haya14busa/action-bumpr)](https://github.com/haya14busa/action-bumpr)> [!IMPORTANT]\
> **The official psf/black action has been released! 🚀** - Because of this, this repository's action is no longer trivial. Therefore, you are advised to use the [official black](https://black.readthedocs.io/en/stable/integrations/github_actions.html) action. Some features in this action are not in the official action. The differences between the two actions are documented in . If you think features are missing, please open a [pull request](https://github.com/rickstaa/action-black/pulls).This action runs the [black formatter](https://github.com/psf/black) to check/format your python code on a push or pull request. It is similar to [reviewdog/action-black](https://github.com/reviewdog/action-black) that can annotate the black changes required with [Reviewdog](https://github.com/reviewdog/reviewdog). However, this version also allows you to format the code using GitHub actions (see #advanced-use-cases).
## Quickstart
In it's simplest form this action can be used to check/format your code using the black formatter.
```yaml
name: black-action
on: [push, pull_request]
jobs:
linter_name:
name: runner / black formatter
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: rickstaa/action-black@v1
with:
black_args: ". --check"
```## Inputs
### `black_args`
**optional**: Black input arguments. Defaults to `. --check --diff`.
### `fail_on_error`
**optional**: Exit code when black formatting errors are found \[true, false]. Defaults to 'true'.
## Outputs
### `is_formatted`
Boolean specifying whether any files were formatted using the black formatter.
## Advanced use cases
### Annotate changes
This action can be combined with [reviewdog/action-suggester](https://github.com/reviewdog/action-suggester) also to annotate any possible changes (uses `git diff`).
```yaml
name: black-action
on: [push, pull_request]
jobs:
linter_name:
name: runner / black
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check files using the black formatter
uses: rickstaa/action-black@v1
id: action_black
with:
black_args: "."
- name: Annotate diff changes using reviewdog
if: steps.action_black.outputs.is_formatted == 'true'
uses: reviewdog/action-suggester@v1
with:
tool_name: blackfmt
```### Commit changes or create a pull request
This action can be combined with [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) to also apply the annotated changes to the repository.
```yaml
name: black-action
on: [push, pull_request]
jobs:
linter_name:
name: runner / black
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check files using the black formatter
uses: rickstaa/action-black@v1
id: action_black
with:
black_args: "."
- name: Create Pull Request
if: steps.action_black.outputs.is_formatted == 'true'
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
title: "Format Python code with psf/black push"
commit-message: ":art: Format Python code with psf/black"
body: |
There appear to be some python formatting errors in ${{ github.sha }}. This pull request
uses the [psf/black](https://github.com/psf/black) formatter to fix these issues.
base: ${{ github.head_ref }} # Creates pull request onto pull request or commit branch
branch: actions/black
```## Contributing
Feel free to open an issue if you have ideas on how to make this GitHub action better or if you want to report a bug! All contributions are welcome. :rocket: Please consult the [contribution guidelines](CONTRIBUTING.md) for more information.