Skip to content

chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.13.1 #35

chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.13.1

chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.13.1 #35

Workflow file for this run

name: Lint and Test
on:
push:
branches:
- main
- master
- feature/**
- release/**
pull_request:
branches:
- main
- master
- feature/**
- release/**
types: [opened, reopened, synchronize]
release:
types: [edited, published]
workflow_dispatch:
defaults:
run:
shell: bash -l {0}
jobs:
lint:
name: Lint (Python ${{ matrix.python-version }} on ${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ['3.10']
steps:
- name: Checkout project
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@835234971496cad1653abb28a638a281cf32541f # v3.2.0
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
miniconda-version: latest
- name: Install latest conda
run: |
conda update -n base -q conda
- name: Install dependencies
run: |
conda install -c defaults -c anaconda-cloud python=${{ matrix.python-version }} pip --file requirements.txt --file requirements-extra.txt
pip install -r requirements-dev.txt
pip install -e . --no-deps
- name: Conda environment information
run: |
conda info
conda config --show
conda list --show-channel-urls
- name: Check with bandit
run: |
make lint-bandit
- name: Check with mypy
run: |
make lint-mypy
test:
name: Test (Python ${{ matrix.python-version }} on ${{ matrix.os }})
needs: [lint]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
steps:
- name: Checkout project
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@835234971496cad1653abb28a638a281cf32541f # v3.2.0
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
miniconda-version: latest
- name: Install latest conda
run: |
conda update -n base -q conda
- name: Install dependencies
run: |
conda install -c defaults -c anaconda-cloud python=${{ matrix.python-version }} pip --file requirements.txt --file requirements-extra.txt
pip install -r requirements-dev.txt
pip install -e . --no-deps
- name: Conda environment information
run: |
conda info
conda config --show
conda list --show-channel-urls
- name: Run tests
env:
_TYPER_FORCE_DISABLE_TERMINAL: 1
run: |
mkdir -p .artifacts/reports
python scripts/refresh_coveragerc.py
python -X utf8 -m pytest tests/ --cov-report html:.artifacts/reports/coverage --html=.artifacts/reports/pytest.html --self-contained-html
- name: Export reports
if: ${{ always() }}
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: report-test-${{ matrix.python-version }}-${{ matrix.os }}
path: .artifacts/reports
retention-days: 7