Skip to content

Remove pipeline from example app #821

Remove pipeline from example app

Remove pipeline from example app #821

Workflow file for this run

name: CI
on:
push:
pull_request:
workflow_dispatch:
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up uv
uses: astral-sh/setup-uv@v5
- name: Verify lockfile is up-to-date
run: uv lock --check
test:
runs-on: ubuntu-latest
needs: lock
strategy:
matrix:
python-version: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up uv
uses: astral-sh/setup-uv@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: uv sync --extra dev
- name: Run tests with coverage
run: uv run pytest --cov=uproot --cov-report=xml --cov-report=term-missing
- name: Upload coverage to codecov
uses: codecov/codecov-action@v4
if: matrix.python-version == '3.13'
with:
fail_ci_if_error: false
lint:
runs-on: ubuntu-latest
needs: lock
steps:
- uses: actions/checkout@v4
- name: Set up uv
uses: astral-sh/setup-uv@v5
with:
python-version: "3.13"
- name: Install dependencies
run: uv sync --extra dev
- name: Run ruff
run: uv run ruff check src/uproot/
- name: Run black
run: uv run black --check src/uproot/
- name: Run isort
run: uv run isort --check-only src/uproot/
type-check:
runs-on: ubuntu-latest
needs: lock
steps:
- uses: actions/checkout@v4
- name: Set up uv
uses: astral-sh/setup-uv@v5
with:
python-version: "3.13"
- name: Install dependencies
run: uv sync --extra dev
- name: Run mypy
run: uv run mypy src/uproot/
security:
runs-on: ubuntu-latest
needs: lock
steps:
- uses: actions/checkout@v4
- name: Set up uv
uses: astral-sh/setup-uv@v5
with:
python-version: "3.13"
- name: Install dependencies
run: uv sync --extra dev
- name: Run bandit
run: uv run bandit -r src/uproot/ -c pyproject.toml
- name: Run pip-audit
run: uvx pip-audit --ignore-vuln CVE-2026-3219 # pip, no fix available
code-quality:
runs-on: ubuntu-latest
needs: lock
steps:
- uses: actions/checkout@v4
- name: Set up uv
uses: astral-sh/setup-uv@v5
with:
python-version: "3.13"
- name: Install dependencies
run: uv sync --extra dev
- name: Run deptry
run: uv run deptry src/uproot/
- name: Run radon complexity check
run: |
uv run radon cc src/uproot/ -a -nb
echo "---"
echo "Checking for high complexity (> 10)..."
uv run radon cc src/uproot/ -n B
- name: Run radon maintainability check
run: uv run radon mi src/uproot/ -nb
codeql:
runs-on: ubuntu-latest
permissions:
security-events: write
steps:
- uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: python
queries: security-and-quality
config-file: .github/codeql/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3