Repository navigation
Github Action doesn't find Poetry #723
Description
The problem
I am trying to use the semantic release GitHub Action. My build step is poetry build, and I am using snok/install-poetry@v1 (via packetcoders/action-setup-cache-python-poetry@main) to install Poetry. This fails with
🛠 Running build command: poetry build
bash: line 1: poetry: command not found
Presumably because semantic-release is running inside a Docker container without access to the previously installed Poetry.
As a side note, my builds are incredibly slow because the two semantic-release actions must be built from dockerfiles each time. Those two build steps take almost a minute each (compared to the cached install of Python and Poetry which takes only 10 seconds total).
Expected behavior
My project is built correctly.
Environment
Ubuntu github runner with Python 3.11 and Poetry 1.6.1, but those are probably not relevant due to containerization.
The workflow looks like this:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: "Setup Python, Poetry and Dependencies"
uses: packetcoders/action-setup-cache-python-poetry@main
with:
python-version: 3.11
poetry-version: 1.6.1
- name: Python Semantic Release
id: release
uses: python-semantic-release/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
prerelease: "true"
- name: Publish package distributions to GitHub Releases
uses: python-semantic-release/upload-to-gh-release@main
if: steps.release.outputs.released == 'true'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}Configuration
[build-system]
requires = [ "poetry-core" ]
build-backend = "poetry.core.masonry.api"
[tool.semantic_release]
version_toml = [ "pyproject.toml:tool.poetry.version" ]
build_command = "poetry build"
version_source = "tag"
commit_version_number = true
commit_message = "chore(release): v{version} [skip ci]"
Activity
zckv commentedon Oct 3, 2023
Hello 👋
You are right, this is not working due to containerization. This should be working fine if PR #692 is merged.
A possible workaround is to install poetry in the
build-command('pip install poetry; poetry install; poetry build') but it is ugly.billsioros commentedon Nov 25, 2023
Hello everyone 👋🏽,
I'm facing a similar issue. More specifically, poetry fails to detect the python version passed to python-semantic-release:
even though setup python installs the appropriate version of python:
Could you please assist me ? Thanks!
zckv commentedon Nov 27, 2023
Hello @billsioros 👋
I think your configuration don't work because the Python interpreter used in the action is python3.10, the default in debian based environment. I think the simplest fix is to allow python3.10 in your pyproject.toml.
Else you may use the specific version 8.3.0 of python-semantic-release that don't work with a docker action but with a composite action. You should still need to install python3.11 in the job step environment.
I hope this help !
billsioros commentedon Nov 28, 2023
Hello @zckv 👋🏽
Thank you for the prompt response! I resolved the issues by editing
pyproject.tomlfor the time being and I'll consider migrating to v8 in the near future.Thanks!
Yelinz commentedon Jan 8, 2024
So after following the discussion rabbit hole it seems that this is still not fixed (#741)?
Or did I miss something and there is a way to use poetry without having to do the install hack
zckv commentedon Jan 9, 2024
Hello @Yelinz 👋
This issue is still not fixed in the master branch. However, the specific tag v8.3.0 use the change in PR #692. Personally I use
to have access to the environment.
I am too lazy (for now) to make a script compatible for every gitlab-runner available and complete #741. To use the PSR master branch, the hack should still work, I think.
Updated semantic release build command due to some issues with contai…
ci: revert python-semantic-release
ci: revert python-semantic-release (#78)
9 remaining items
github-actions commentedon Dec 30, 2024
It has been 60 days since the last update on this confirmed issue. @python-semantic-release/team can you provide an update on the status of this issue?
chore: revert back to v7 of sematic release.
codejedi365 commentedon Dec 30, 2024
Still in backlog
github-actions commentedon Mar 2, 2025
It has been 60 days since the last update on this confirmed issue. @python-semantic-release/team can you provide an update on the status of this issue?
codejedi365 commentedon Mar 2, 2025
Still in backlog
Link #685
github-actions commentedon May 2, 2025
It has been 60 days since the last update on this confirmed issue. @python-semantic-release/team can you provide an update on the status of this issue?
codejedi365 commentedon May 2, 2025
Still in backlog
github-actions commentedon Aug 1, 2025
It has been 90 days since the last update on this confirmed issue. @python-semantic-release/team can you provide an update on the status of this issue?