# CI Pipeline — Configuration > Per confirmed answers: self-hosted **Gitea Actions**, tests-only pipeline, > nothing to deploy, gated on push/PR to main. Repo: `armistace/newspaper_wedding` > on gitea@192.168.178.155. ## Gitea Actions workflow (`.gitea/workflows/test.yml`) ```yaml name: Test on: push: branches: [main] pull_request: branches: [main] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v5 with: python-version: "3.12" - name: Install run: cd newspaper && uv sync --extra dev - name: Run tests run: cd newspaper && uv run pytest tests/ -q ``` ## Notes - **Tests only** — there is no deploy/build/publish stage (nothing to deploy; file-only local tool). This matches the confirmed infrastructure-design posture. - The test command is the exact one Build and Test verified (`uv run --project newspaper pytest newspaper/tests/ -q`); scoped to the newspaper project. (`cd newspaper && uv run pytest tests/ -q` is the workflow's equivalent, running from the package root.) - The model/fetch transports are mocked in tests — no live cloud model or content-enrichment call is made in CI.