Skip to content

tmp

tmp #62

Workflow file for this run

name: Tests
on:
workflow_dispatch:
schedule:
- cron: "0 3 * * *"
push:
branches: ["main", "dev"]
tags-ignore: ["**"]
paths:
- "examples/**"
- "fast_healthchecks/**"
- "tests/**"
- ".pre-commit-config.yaml"
- "pyproject.toml"
- "requirements.txt"
- "uv.lock"
pull_request:
paths:
- "examples/**"
- "fast_healthchecks/**"
- "tests/**"
- ".pre-commit-config.yaml"
- "pyproject.toml"
- "requirements.txt"
- "uv.lock"
concurrency:
group: check-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
pre-commit:
runs-on: ubuntu-latest
if: github.event.repository.fork == false
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- name: Set up Python 3.10
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
with:
python-version: '3.10'
- name: Install uv
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install the project
run: uv sync --all-extras --dev
- name: Run pre-commit (uv-managed)
run: uv run --no-sync --with pre-commit-uv pre-commit run --show-diff-on-failure --color=always --all-files
env:
SKIP: "detect-aws-credentials,no-commit-to-branch"
audit:
needs: [pre-commit]
name: pip-audit
runs-on: ubuntu-latest
if: github.event.repository.fork == false
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- name: Install uv
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python 3.10
run: uv python install 3.10
- name: Install project dependencies
run: uv sync --group=dev --all-extras
- name: Run pip-audit
run: uv run pip-audit
imports-tests:
needs: [pre-commit]
name: imports ${{ matrix.python-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
if: github.event.repository.fork == false
strategy:
fail-fast: false
matrix:
python-version:
- "3.13"
- "3.12"
- "3.11"
- "3.10"
os:
- ubuntu-latest
- windows-latest
env:
PYTHON: ${{ matrix.python-version }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- uses: ./.github/actions/setup-test-env
with:
python-version: ${{ matrix.python-version }}
- name: Run Imports Tests
run: make tests-imports
- uses: ./.github/actions/upload-coverage
with:
flags: imports
unit-tests:
needs: [pre-commit]
name: unit ${{ matrix.python-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
if: github.event.repository.fork == false
env:
PYTHON: ${{ matrix.python-version }}
strategy:
fail-fast: false
matrix:
python-version:
- "3.13"
- "3.12"
- "3.11"
- "3.10"
os:
- ubuntu-latest
- windows-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
fetch-depth: 0
- uses: ./.github/actions/setup-test-env
with:
python-version: ${{ matrix.python-version }}
- name: Install project dependencies
run: uv sync --group=dev --all-extras
- name: Run Unit Tests
run: make tests-unit
- uses: ./.github/actions/upload-coverage
with:
flags: unittests
name: codecov-umbrella
integration-tests:
needs: [pre-commit]
name: integration ${{ matrix.python-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
if: github.event.repository.fork == false && (github.event_name == 'workflow_dispatch' || github.event_name == 'schedule')
strategy:
fail-fast: false
matrix:
python-version:
- "3.13"
- "3.12"
- "3.11"
- "3.10"
os:
- ubuntu-latest
- windows-latest
env:
PYTHON: ${{ matrix.python-version }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- uses: ./.github/actions/setup-test-env
with:
python-version: ${{ matrix.python-version }}
- name: Prepare environment for Docker Compose
run: cp .env.example .env
- name: Run integration tests
run: make tests-integration
- uses: ./.github/actions/upload-coverage
with:
flags: integration