Move from pip-tools -> poetry #253
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Backend Skeleton | |
on: | |
push: | |
branches: | |
- main | |
pull_request: {} | |
schedule: | |
- cron: '0 14 * * MON' | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
# Check-out repo and set-up python | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
id: setup-python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.13 | |
# Install & configure poetry | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
virtualenvs-path: .venv | |
installer-parallel: true | |
# Load cached venv if cache exists | |
- name: Load cached venv | |
id: cached-poetry-dependencies | |
uses: actions/cache@v4 | |
with: | |
path: .venv | |
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }} | |
# Install dependencies if cache does not exist | |
- name: Install dependencies | |
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' | |
run: poetry install --no-interaction | |
# Run tests on skeleton code; | |
# NOTE: there are nothing to test yet, unless we add some hooks, just check that it runs | |
- name: Run tests on hooks | |
run: poetry run inv test.hooks | |
# Build a project from skeleton with a default name - awesome, and run tests on it | |
- name: Build project from skeleton and run tests | |
run: | | |
poetry run cookiecutter --no-input --overwrite-if-exists --output-dir build . | |
cd build/awesome | |
cp ./api/.env.example ./api/.env | |
make api-test |