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