95 lines
2.5 KiB
YAML
95 lines
2.5 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
schedule:
|
|
- cron: "0 9 * * 1"
|
|
|
|
jobs:
|
|
black:
|
|
runs-on: ubuntu-latest
|
|
container: python:3.13-slim
|
|
steps:
|
|
- name: Checkout
|
|
run: |
|
|
apt-get update -qq && apt-get install -y -qq git
|
|
git clone ${{ github.server_url }}/${{ github.repository }} .
|
|
git checkout ${{ github.sha }}
|
|
|
|
- name: Install system dependencies
|
|
run: apt-get install -y -qq libcap-dev
|
|
|
|
- name: Install Poetry and dependencies
|
|
run: |
|
|
pip install poetry==2.1.1
|
|
poetry install --without pi --no-interaction
|
|
|
|
- name: Run black
|
|
run: poetry run black --check src/ tests/
|
|
|
|
ruff:
|
|
runs-on: ubuntu-latest
|
|
container: python:3.13-slim
|
|
steps:
|
|
- name: Checkout
|
|
run: |
|
|
apt-get update -qq && apt-get install -y -qq git
|
|
git clone ${{ github.server_url }}/${{ github.repository }} .
|
|
git checkout ${{ github.sha }}
|
|
|
|
- name: Install system dependencies
|
|
run: apt-get install -y -qq libcap-dev
|
|
|
|
- name: Install Poetry and dependencies
|
|
run: |
|
|
pip install poetry==2.1.1
|
|
poetry install --without pi --no-interaction
|
|
|
|
- name: Run ruff
|
|
run: poetry run ruff check src/ tests/
|
|
|
|
mypy:
|
|
runs-on: ubuntu-latest
|
|
container: python:3.13-slim
|
|
steps:
|
|
- name: Checkout
|
|
run: |
|
|
apt-get update -qq && apt-get install -y -qq git
|
|
git clone ${{ github.server_url }}/${{ github.repository }} .
|
|
git checkout ${{ github.sha }}
|
|
|
|
- name: Install system dependencies
|
|
run: apt-get install -y -qq libcap-dev
|
|
|
|
- name: Install Poetry and dependencies
|
|
run: |
|
|
pip install poetry==2.1.1
|
|
poetry install --without pi --no-interaction
|
|
|
|
- name: Run mypy
|
|
run: poetry run mypy src/
|
|
|
|
pytest:
|
|
runs-on: ubuntu-latest
|
|
container: python:3.13-slim
|
|
steps:
|
|
- name: Checkout
|
|
run: |
|
|
apt-get update -qq && apt-get install -y -qq git
|
|
git clone ${{ github.server_url }}/${{ github.repository }} .
|
|
git checkout ${{ github.sha }}
|
|
|
|
- name: Install system dependencies
|
|
run: apt-get install -y -qq libcap-dev
|
|
|
|
- name: Install Poetry and dependencies
|
|
run: |
|
|
pip install poetry==2.1.1
|
|
poetry install --without pi --no-interaction
|
|
|
|
- name: Run pytest
|
|
run: poetry run pytest
|