Skip to content

fix(security): add explicit permissions to CI workflow #29

fix(security): add explicit permissions to CI workflow

fix(security): add explicit permissions to CI workflow #29

Workflow file for this run

name: 🧪 CI
on:
push:
branches: [ main, master, dev ]
pull_request:
branches: [ main, master, dev ]
# Explicitly set minimal permissions following least privilege principle
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ "3.11", "3.12", "3.13" ]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies (including dev extras)
run: |
python -m pip install --upgrade pip
pip install -e .[dev]
pip install ruff
# -----------------------------
# Code quality
# -----------------------------
- name: Run Ruff linter (auto-fix mode)
run: |
ruff check . --fix
continue-on-error: false
- name: Check formatting (Black)
run: |
black --check src examples tests
# -----------------------------
# Tests
# -----------------------------
- name: Install package (editable) and run pytest
run: |
pip install -e .[dev]
echo "Listing repo files:"; ls -la
echo "Listing tests dir:"; ls -la tests || true
PYTHONPATH=src pytest tests -v --maxfail=1 --disable-warnings