-
-
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 |
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
Thank you so much for sharing those links with us. I appreciate you for helping me out and now it is my turn to repay you. And I would like to share the https://www.topessaywriting.org/samples/poetry website with you where you can read essay samples on various topics such as poetry and many more. If you are not good at writing essay assignments then you can visit the given link.
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
andGITHUB_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.