Skip to content

Merge pull request #129 from SpanPanel/release/v2.5.1 #356

Merge pull request #129 from SpanPanel/release/v2.5.1

Merge pull request #129 from SpanPanel/release/v2.5.1 #356

Workflow file for this run

name: CI
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
jobs:
lint-and-test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.14"]
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
- name: Install dependencies
run: uv sync
- name: Run pre-commit hooks
run: |
uv run pre-commit run --all-files
- name: Run tests with pytest
run: |
uv run pytest tests/ -v --cov=src/span_panel_api --cov-report=xml --cov-report=term-missing
security-scan:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.14"
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
- name: Install dependencies
run: uv sync
- name: Run Bandit security scan
run: |
uv run bandit -r src/ -f json -o bandit-report.json || true
- name: Upload Bandit scan results
uses: actions/upload-artifact@v7
with:
name: bandit-report
path: bandit-report.json
build-check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.14"
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
- name: Install dependencies
run: uv sync
- name: Build package
run: uv build
- name: Check package
run: uv run twine check dist/*
- name: Upload build artifacts
uses: actions/upload-artifact@v7
with:
name: dist
path: dist/