From e1fbfdf40e254dcc87b6474219b76ef8dd4cc4e8 Mon Sep 17 00:00:00 2001 From: Deeman Date: Fri, 27 Feb 2026 08:20:31 +0100 Subject: [PATCH] feat(ci): add Gitea Actions workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mirrors the existing GitLab CI: one test job (pytest + ruff) gated by a tag job that creates v on master. Supervisor polls for new tags to deploy — no SSH keys or deploy credentials in CI. Co-Authored-By: Claude Sonnet 4.6 --- .gitea/workflows/ci.yaml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .gitea/workflows/ci.yaml diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml new file mode 100644 index 0000000..f8f0087 --- /dev/null +++ b/.gitea/workflows/ci.yaml @@ -0,0 +1,36 @@ +name: CI + +on: + push: + branches: [master] + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: https://github.com/astral-sh/setup-uv@v5 + with: + python-version: "3.12" + - run: uv sync + - run: uv run pytest web/tests/ -x -q -p no:faulthandler + - run: uv run ruff check web/src/ web/tests/ + + # Creates v tag after tests pass. The on-server supervisor polls for new + # tags every 60s and deploys automatically. No SSH keys or deploy credentials + # needed in CI — only the built-in github.token. + tag: + needs: [test] + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/master' + steps: + - uses: actions/checkout@v4 + with: + token: ${{ github.token }} + - name: Create and push tag + run: | + git config user.name "CI" + git config user.email "ci@noreply" + git tag "v${{ github.run_number }}" + git push origin "v${{ github.run_number }}"