main.py brugte asyncio.create_task i YouTube-ruterne (tilføj video, tilføj
og kør overvågede kanaler), men importen på modulniveau forsvandt 2026-09-20
(9675a5b); kun to funktioner havde en lokal import. Siden da gav "tilføj
overvåget kanal" og "tilføj video" 500 (NameError).
CI kører nu pyflakes og fejler på udefinerede navne, så det fanges før drift.
Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
38 lines
1.2 KiB
YAML
38 lines
1.2 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
|
|
concurrency:
|
|
group: ci-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Tooling
|
|
run: apt-get update -qq && apt-get install -y -qq --no-install-recommends python3 python3-jinja2 python3-pyflakes
|
|
- name: Python compiles
|
|
run: python3 -m compileall -q .
|
|
- name: No undefined names
|
|
# Fanger fx et manglende "import asyncio", der ellers først viser sig som
|
|
# en 500 i drift (sket for YouTube-modulet 2026-09-20 til 2026-10-06).
|
|
run: |
|
|
python3 -m pyflakes *.py > pyflakes.txt || true
|
|
if grep -E "undefined name|unable to detect undefined names" pyflakes.txt; then exit 1; fi
|
|
- name: Templates parse
|
|
run: |
|
|
python3 - <<'PY'
|
|
import pathlib, jinja2
|
|
env = jinja2.Environment(loader=jinja2.FileSystemLoader("templates"))
|
|
for p in sorted(pathlib.Path("templates").glob("*.html")):
|
|
env.parse(p.read_text())
|
|
print("templates ok")
|
|
PY
|
|
- name: deploy.sh syntax
|
|
run: bash -n deploy/deploy.sh
|