GitHub Actions 統合¶
独自の Python 環境を設定することなく、GitHub Actions ワークフロー内で Black を使用できます。コードが Black のコーディングスタイルに一致することを強制するのに最適です。
互換性¶
このアクションは、GitHub がホストするすべてのランナー OS をサポートすることが知られています。さらに、公開されているバージョンの Black のみがサポートされています(つまり、PyPI で入手可能なバージョン)。
最後に、このアクションは Black を colorama
エクストラと共にインストールするため、--color
フラグは正常に動作するはずです。
使用方法¶
リポジトリ内に .github/workflows/black.yml
という名前のファイルを作成し、以下の内容を記述します。
name: Lint
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: psf/black@stable
@stable
タグの使用を推奨しますが、バージョンごとのタグも必要に応じて存在します。選択するアクションのバージョンは、アクションが使用する Black のバージョンとは独立していることに注意してください。
アクションが使用する Black のバージョンは、version
で設定するか、pyproject.toml
ファイルから読み取ることができます。version
は、有効なバージョン指定子 または、正確なバージョンが必要な場合はバージョン番号のみを指定できます。pyproject.toml
ファイルからバージョンを読み取るには、use_pyproject
を true
に設定します。これにより、最初に tool.black.required-version
フィールド、次に project.dependencies
配列、最後に project.optional-dependencies
テーブルが検索されます。アクションはデフォルトで PyPI で利用可能な最新のリリースに設定されます。PyPI から入手可能なバージョンのみがサポートされているため、コミット SHA やブランチ名は使用できません。
Jupyter Notebook を含める場合は、Black を jupyter
エクストラと共にインストールする必要があります。エクストラのインストールと Jupyter Notebook ファイルの包含は、jupyter
で設定できます(デフォルトは false
です)。
Black に渡される引数は、options
(デフォルトは '--check --diff'
)と src
(デフォルトは '.'
)で設定することもできます。--check
フラグ は、Black がフォーマットする必要があるファイルを見つけた場合にワークフローが失敗するようにするために必要です。
設定例を以下に示します。
- uses: psf/black@stable
with:
options: "--check --verbose"
src: "./src"
jupyter: true
version: "21.5b1"
Black の 安定性ポリシー でカバーされているバージョンと一致させる場合は、互換リリース演算子(~=
)を使用できます。
- uses: psf/black@stable
with:
options: "--check --verbose"
src: "./src"
version: "~= 22.0"
pyproject.toml
からバージョンを読み取る場合は、use_pyproject
を true
に設定します。
- uses: psf/black@stable
with:
options: "--check --verbose"
src: "./src"
use_pyproject: true