Open Nao-Y1996 opened 3 months ago
I ran into the same issue, but I think it's not actually a bug as the action is operating as documented, though it is a bit of a gotcha when using this with Poetry.
The docs say: "To read the version from the pyproject.toml
file instead, set use_pyproject
to true.
This will first look into the tool.black.required-version
field, then the project.dependencies
array and finally the project.optional-dependencies
table."
The first suggestion is a Black-specific location, and then the other 2 are standard pyproject.toml
locations as described in https://peps.python.org/pep-0621/. The issue is Poetry does not follow PEP 621 (yet - see https://github.com/python-poetry/roadmap/issues/3), and so it stores its dependencies in different locations - tool.poetry.dependencies
and similar, and so the Black action cannot use the Poetry-specified version without redundancy.
If you add
[tool.black]
required-version = "24.4.2"
to your pyproject.toml
file instead then use_pyproject
will work as described.
Longer term the solution might be to note this gotcha in the docs, for Black to pick up on the Poetry syntax as well, and/or to just wait for Poetry to follow PEP 621.
Thanks @bobwhitelock!
I don't think Black should attempt to parse the Poetry-specific section in pyproject.toml
. However, I would support adding a note in the docs to address this issue.
Describe the bug
black in github actions failed when we set
use_pyproject: true
this way is discribed in hereTo Reproduce
my
.github/workflows/black.yml
was like bellow.and
pyproject.toml
was like bellow, so black is latest version.The resulting error is lie this.
The yml description should be as documented, am I missing something?
when I give up to use
use_pyproject: true
and useversion: "~= 24.4.2"
, no error occurred.Environment
Additional context