build: switch from devenv to nix flakes with uv2nix
All checks were successful
Continuous Integration / Build Package (push) Successful in 1m31s
Continuous Integration / Lint, Check & Test (push) Successful in 1m36s

- Replace devenv setup with pure nix flakes using uv2nix, pyproject-nix,
  pyproject-build-systems, and git-hooks.nix (adapted from hokusai)
- Add forgejo CI pipeline with lint/check/test and build jobs
- Wrap cv binary with LD_LIBRARY_PATH for weasyprint native dependencies
- Move basedpyright to dev dependency group, add pytest and ruff
- Fix package imports to use hatch source remapping (src/ layout)
- Update .envrc to use flake, expand .gitignore

BREAKING CHANGE: devenv is no longer used, run direnv allow to reload
This commit is contained in:
Konstantin Fickel 2026-03-05 21:25:55 +01:00
parent ae00071ecf
commit a1a8ddf893
Signed by: kfickel
GPG key ID: A793722F9933C1A5
11 changed files with 478 additions and 213 deletions

27
.forgejo/workflows/ci.yml Normal file
View file

@ -0,0 +1,27 @@
name: Continuous Integration
on:
push:
workflow_dispatch:
jobs:
check:
name: Lint, Check & Test
runs-on: nix
steps:
- name: Check out Repository
uses: https://git.konstantinfickel.de/actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- run: nix --version
- run: nix flake check
build:
name: Build Package
runs-on: nix
steps:
- name: Check out Repository
uses: https://git.konstantinfickel.de/actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- run: nix build