-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pytest workflow file #24
Conversation
There seems to be an issue with my workflow file. I'll try to fix it tomorrow. |
Yes I think you are missing the extra dependencies in the pip install. Maybe we can directly install dependencies with poetry?
I am more familiar with GitLab CI unfortunately, but I think we can use a GitHub Action to use poetry: https://github.com/marketplace/actions/install-poetry-action I think we can do something like this (taken and adapted from the docs): name: test
on: pull_request
jobs:
test:
runs-on: ubuntu-latest
steps:
#----------------------------------------------
# check-out repo and set-up python
#----------------------------------------------
- name: Check out repository
uses: actions/checkout@v4
- name: Set up python
id: setup-python
uses: actions/setup-python@v5
with:
python-version: '3.9'
#----------------------------------------------
# ----- install & configure poetry -----
#----------------------------------------------
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
#----------------------------------------------
# load cached venv if cache exists
#----------------------------------------------
- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v3
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 --all-extras --with dev
#----------------------------------------------
# run test suite
#----------------------------------------------
- name: Run tests
run: poetry run pytest tests/ |
You were right Samuel, adding But as you suggested, I think it's cleaner to use the "install-poetry" action, I updated the worflow as you suggested |
created a pytest workflow for github actions