-
-
Save blu3r4y/0e316bacca5a55f37acb3258a5465b1b to your computer and use it in GitHub Desktop.
name: setup-poetry | |
on: | |
push: | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Setup Poetry | |
run: | | |
curl -sSL https://install.python-poetry.org | python3 - | |
echo "$HOME/.local/bin" >> $GITHUB_PATH | |
- name: Install dependencies | |
run: poetry install | |
- name: Active environment | |
shell: bash | |
run: | | |
source $(poetry env info --path)/bin/activate | |
echo "$VIRTUAL_ENV/bin" >> $GITHUB_PATH | |
echo "PYTHONHOME=" >> $GITHUB_ENV |
Thanks @IvanildoBarauna for the suggestion, that is a great trick.
I partially remember that the crucial pieces of my previous Gist were about sourcing to GITHUB_PATH
and GITHUB_ENV
because without that I had issues when trying to directly call scripts, python packages, and even the poetry binary. I have no system right now to test your script against that, but future readers might.
Hi @blu3r4y
I'm happy that I can contribute with others readers using your Gist, thanks.
I have a project that uses exactly this script structure, if you are interested in seeing how this works in the real world, here it is...
https://github.com/IvanildoBarauna/api-to-dataframe
Workflow and line is: https://github.com/IvanildoBarauna/api-to-dataframe/blob/main/.github/workflows/CI.yaml#L25-L30
The following project below also has similar needs, but uses another method with python's "venv"
https://github.com/IvanildoBarauna/ETL-awesome-api
Workflow and line: https://github.com/IvanildoBarauna/ETL-awesome-api/blob/main/.github/workflows/CI-CD.yaml#L28-L36
Hello @blu3r4y
Sugestion for this:
The line poetry config virtualenvs.create false is here for dont create a virtual env in Ubuntu ;)