Merge pull request #1756 from lisphilar/dependabot/pip/sphinx-rtd-the… #1452
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: 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 |