Skip to content

Hardening

Hardening #108

Workflow file for this run

name: Run CI
on:
pull_request:
branches: [ "main" ]
permissions:
contents: read
statuses: write # Ensure the workflow can update statuses
jobs:
ci:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Cache pip and Poetry
uses: actions/cache@v4
with:
path: |
~/.cache/pip
~/.cache/pypoetry
key: ${{ runner.os }}-pip-${{ hashFiles('**/poetry.lock') }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --no-cache-dir poetry
pip install nox nox-poetry
- name: Install project dependencies
run: |
poetry config virtualenvs.create false
poetry install --with dev --no-root
- name: Lint ruff
run: |
# stop the build if there are Python syntax errors or undefined names
ruff check .
- name: Install playwright
run: |
python -m playwright install --with-deps
- name: Run Nox sessions
run: |
nox --non-interactive -s tests