Der Testlauf lief in catthehacker/ubuntu:act-22.04 mit Python 3.10. Django 6.1 verlangt >= 3.12, ließ sich dort also gar nicht installieren — was erst durch das Pinnen aufgefallen ist: vorher stand "django>=4.2" in requirements.txt und pip hat in CI still ein 4.x aufgelöst, während das Image auf python:3.12-slim ein 6.1 bekam. Die Suite hat damit eine andere Django-Version getestet als die ausgelieferte. 24.04 bringt Python 3.12 mit und markiert sein System-Python als extern verwaltet (PEP 668), deshalb laufen die Schritte jetzt über ein venv. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
35 lines
1 KiB
YAML
35 lines
1 KiB
YAML
name: Test
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- testing
|
|
pull_request:
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
# 22.04 ships Python 3.10, which cannot install the pinned Django (it
|
|
# needs >= 3.12). While requirements.txt still said "django>=4.2" that
|
|
# went unnoticed and pip quietly resolved a 4.x here — so CI was testing
|
|
# a different Django than the image actually shipped. 24.04 gives us
|
|
# 3.12, matching the Dockerfile's python:3.12-slim.
|
|
image: catthehacker/ubuntu:act-24.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install Python dependencies
|
|
# 24.04 marks its system Python as externally managed (PEP 668), so a
|
|
# bare `pip install` is refused. A venv is the sanctioned way in.
|
|
run: |
|
|
python -m venv /tmp/venv
|
|
/tmp/venv/bin/pip install --no-cache-dir -r requirements.txt
|
|
|
|
- name: Django system check
|
|
run: /tmp/venv/bin/python manage.py check
|
|
|
|
- name: Run tests
|
|
run: /tmp/venv/bin/python manage.py test
|