Skip to content

switch to uv

switch to uv #431

Workflow file for this run

name: Testing
env:
# Enable colored output for pytest
# https://github.com/pytest-dev/pytest/issues/7443
# https://github.com/actions/runner/issues/241
PY_COLORS: 1
POETRY_VERSION: "1.8.4"
on:
pull_request:
types: [opened, reopened, synchronize]
push:
branches:
- main
permissions:
contents: read
# Limit concurrency by workflow/branch combination.
#
# For pull request builds, pushing additional changes to the
# branch will cancel prior in-progress and pending builds.
#
# For builds triggered on a branch push, additional changes
# will wait for prior builds to complete before starting.
#
# https://docs.github.com/en/actions/using-jobs/using-concurrency
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
strategy:

Check failure on line 33 in .github/workflows/testing.yaml

View workflow run for this annotation

GitHub Actions / Testing

Invalid workflow file

The workflow is not valid. .github/workflows/testing.yaml (Line: 33, Col: 1): Unexpected value 'strategy'
matrix:
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
jobs:
# see https://docs.astral.sh/uv/guides/integration/github/
python-tests:
name: python
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v4
# - name: Set up Python
# run: uv python install
# - name: "Set up Python"
# uses: actions/setup-python@v5
# with:
# python-version-file: ".python-version"
# - name: "Set up Python"
# uses: actions/setup-python@v5
# with:
# python-version-file: "pyproject.toml"
- name: Set up Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}
- name: Install the project
run: uv sync --all-extras --dev
- name: Run tests
# For example, using `pytest`
# run: uv run pytest tests
run: uv run pytest tests --cov=src --cov-report html --cov-report xml --cov-report term -v
# jobs:
# python-tests:
# name: Python tests
# runs-on: ${{ matrix.os }}
# timeout-minutes: 10
# strategy:
# fail-fast: false
# matrix:
# os:
# - ubuntu-latest
# python-version:
# - "3.8"
# - "3.9"
# - "3.10"
# - "3.11"
# - "3.12"
# # include:
# # # Run 3.12 tests with relaxed constraints
# # - python-version: "3.12-dev"
# # relax: true # ??
# steps:
# - uses: actions/checkout@v3
# with:
# persist-credentials: false
# fetch-depth: 0
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
# # TODO: This appears to require poetry to be installed before usage
# # cache: "poetry"
# - name: Set up Poetry
# run: |
# pip install poetry==${{ env.POETRY_VERSION }}
# - name: Install packages
# run: |
# just install
# - name: Run tests with coverage
# run: |
# just pytest-cov
# # https://github.com/codecov/codecov-action
# - name: "Upload coverage to Codecov"
# uses: codecov/codecov-action@v3
# with:
# fail_ci_if_error: false # optional (default = false)
# # files: var/coverage/coverage.xml, # optional
# directory: var/coverage
# flags: unittests # optional
# token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
# verbose: true # optional (default = false)