Skip to content

Merge pull request #12 from SFTtech/milo/extend-debian-metadata-parsing #65

Merge pull request #12 from SFTtech/milo/extend-debian-metadata-parsing

Merge pull request #12 from SFTtech/milo/extend-debian-metadata-parsing #65

Workflow file for this run

name: CI
permissions: {}
on:
pull_request:
types: [opened, synchronize]
push:
branches:
- main
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Install the project
run: uv sync --locked --all-extras --dev
- name: Run Ruff Lint
run: uv run ruff check
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Install the project
run: uv sync --locked --all-extras --dev
- name: Run Ty for typechecking
run: uv run ty check
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Install the project
run: uv sync --locked --all-extras --dev
- name: Run Ruff Format Check
run: uv run ruff format --check
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Install the project
run: uv sync --locked --all-extras --dev
- name: Run sphinx-build
run: uv run sphinx-build docs docs/_build
unit-tests:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version:
- "3.12"
- "3.13"
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Install the project
run: uv sync --locked --all-extras --dev
- name: Run Unittests
run: uv run pytest --ignore tests/integration .
# TODO: integration tests currently don't work in the CI since they require running apt source on debian trixie -> CI runs on ubuntu
# integration-tests:
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# python-version:
# - "3.12"
# os: [ubuntu-latest]
# steps:
# - uses: actions/checkout@v5
# - name: Set up Python
# uses: actions/setup-python@v6
# with:
# python-version: "3.12"
# - name: Install uv
# uses: astral-sh/setup-uv@v6
# with:
# enable-cache: true
# - name: Install the project
# run: uv sync --locked --all-extras --dev
# - name: Run Integrationtests
# run: uv run pytest tests/integration
package_ourself:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Install the project
run: uv sync --locked --all-extras --dev
- name: Run Debmagic build on ourself
run: uv run debmagic build --driver=docker