# Forgejo Actions CI for kaizen-agentic. # Runner substrate: ubuntu-latest maps to docker://node:20-bookworm (no pip). # Install python3 + pip via apt; use archive checkout (no actions/checkout). # Pattern from reuse-surface/.forgejo/workflows/ci.yml and # railiance-enablement/docs/forgejo-actions-workflow-templates.md. name: ci on: push: branches: [main] pull_request: branches: [main] workflow_dispatch: jobs: test: runs-on: ubuntu-latest steps: - name: Fetch source archive env: REF: ${{ github.sha }} run: | set -eu mkdir -p repo # Prefer short SHA; full SHA archive URLs can hang on this substrate. SHORT="${REF:0:7}" wget -qO /tmp/repo.tar.gz \ "https://forgejo.coulomb.social/${GITHUB_REPOSITORY}/archive/${SHORT}.tar.gz" tar xzf /tmp/repo.tar.gz -C repo --strip-components=1 - name: Install Python tooling run: | set -eu apt-get update -qq apt-get install -y -qq python3 python3-pip python3-venv >/dev/null python3 -m pip install --break-system-packages --upgrade pip - name: Install package and dev tools working-directory: repo run: | python3 -m pip install --break-system-packages -e ".[dev]" - name: Format check (black) working-directory: repo run: black --check src tests - name: Lint (flake8) working-directory: repo run: flake8 src/ --max-line-length=100 - name: Run tests working-directory: repo run: pytest tests/ -q