Skip to content

Merge pull request #1756 from lisphilar/dependabot/pip/sphinx-rtd-the… #1452

Merge pull request #1756 from lisphilar/dependabot/pip/sphinx-rtd-the…

Merge pull request #1756 from lisphilar/dependabot/pip/sphinx-rtd-the… #1452

Workflow file for this run

name: Quality Check
on:
push:
branches:
main
pull_request:
types: [edited, synchronize, opened, reopened]
branches:
main
workflow_dispatch:
jobs:
cancel:
name: cancel previous runs
runs-on: ubuntu-latest
steps:
- uses: styfle/cancel-workflow-action@main
with:
all_but_latest: true
access_token: ${{ github.token }}
poetry--quality-check:
name: quality check
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
steps:
- name: check out repository
uses: actions/checkout@main
- name: set up Python
id: setup-python
uses: actions/setup-python@main
with:
python-version: ${{ matrix.python-version }}
- name: install Poetry
uses: snok/install-poetry@main
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
- name: load cached venv if available
id: cached-poetry-dependencies
uses: actions/cache@main
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: install dependencies and test tools if cache does not exist
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --no-interaction --no-root --with test
- name: run quality check with "make check" command
run: make check
poetry-test:
name: Pytest with Poetry
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
steps:
- name: check out repository
uses: actions/checkout@main
- name: set up Python
id: setup-python
uses: actions/setup-python@main
with:
python-version: ${{ matrix.python-version }}
- name: install Poetry
uses: snok/install-poetry@main
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
- name: load cached venv if available
id: cached-poetry-dependencies
uses: actions/cache@main
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: install dependencies and test tools if cache does not exist
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --no-interaction --no-root --with test
- name: run tests
run: poetry run pytest tests
- name: upload test coverage to Codecov
uses: codecov/codecov-action@main
pip-test:
name: test with pip
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- name: Checkout
uses: actions/checkout@main
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@main
with:
python-version: ${{ matrix.python-version }}
- name: pip install and test
run: |
pip install pip --upgrade
pip install .
pip install pytest pytest-cov pytest-xdist
pytest -v --maxfail=1 tests -n auto
anaconda_pip:
name: test with Anaconda environment
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ["windows-latest"]
python-version: ["3.12"]
steps:
- uses: actions/checkout@main
- name: Setup conda
uses: conda-incubator/setup-miniconda@main
with:
python-version: ${{ matrix.python-version }}
auto-activate-base: true
activate-environment: true
channels: conda-forge
miniforge-version: 24.3.0-0
show-channel-urls: true
use-only-tar-bz2: false
- name: installation of CovsirPhy
run: |
conda install -c conda-forge pip fiona ruptures
pip install .
codeql:
name: discover vulnerabilities with CodeQL
runs-on: ubuntu-latest
permissions:
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@main
with:
fetch-depth: 2
- name: Initialize CodeQL
uses: github/codeql-action/init@main
with:
languages: python
- name: Autobuild
uses: github/codeql-action/autobuild@main
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@main