diff --git a/.github/workflows/full_tests.yml b/.github/workflows/full_tests.yml index a783e5a..e41d44f 100644 --- a/.github/workflows/full_tests.yml +++ b/.github/workflows/full_tests.yml @@ -1,4 +1,4 @@ -name: Test on Ubuntu +name: Complete tests on: pull_request: @@ -12,8 +12,13 @@ on: jobs: build-and-test: - runs-on: ubuntu-latest - + name: ${{ matrix.os }} Python ${{ matrix.python-version }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: ["3.9", "3.14"] # Lower and higher versions we support + os: [macos-latest, windows-latest, ubuntu-latest] steps: - uses: actions/checkout@v4 - name: Set up Python @@ -26,9 +31,4 @@ jobs: pip install .[test] - name: Pytest run: | - pytest --cov=probeinterface --cov-report xml:./coverage.xml - - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - fail_ci_if_error: true - file: ./coverage.xml + pytest -v diff --git a/.github/workflows/full_tests_codecov.yml b/.github/workflows/full_tests_codecov.yml new file mode 100644 index 0000000..c48715a --- /dev/null +++ b/.github/workflows/full_tests_codecov.yml @@ -0,0 +1,31 @@ +name: Test with Codecov + +on: + workflow_dispatch: + schedule: + - cron: "0 12 * * *" # Daily at noon UTC + + +jobs: + build-and-test: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + - name: Install package + run: | + python -m pip install --upgrade pip + pip install .[test] + - name: Pytest + run: | + pytest --cov=probeinterface --cov-report xml:./coverage.xml + - uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: true + file: ./coverage.xml diff --git a/pyproject.toml b/pyproject.toml index 5f397ab..46040db 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ authors = [ description = "Python package to handle probe layout, geometry and wiring to device." readme = "README.md" -requires-python = ">=3.8" +requires-python = ">=3.9" classifiers = [ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License",