From 128c177401e6ea0ebbed2114d7bdfa68a42a7579 Mon Sep 17 00:00:00 2001 From: Deeman Date: Fri, 27 Feb 2026 08:20:28 +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: three parallel test jobs (cli, sqlmesh, web) 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 | 56 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 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..adb5786 --- /dev/null +++ b/.gitea/workflows/ci.yaml @@ -0,0 +1,56 @@ +name: CI + +on: + push: + branches: [master] + pull_request: + +jobs: + test-cli: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: https://github.com/astral-sh/setup-uv@v5 + with: + python-version: "3.13" + - run: uv sync --all-packages + - run: uv run pytest tests/ + + test-sqlmesh: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: https://github.com/astral-sh/setup-uv@v5 + with: + python-version: "3.13" + - run: uv sync --all-packages + - run: cd transform/sqlmesh_materia && uv run sqlmesh test + + test-web: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: https://github.com/astral-sh/setup-uv@v5 + with: + python-version: "3.13" + - run: uv sync --all-packages + - run: cd web && uv run pytest tests/ -x -q + - run: cd web && uv run ruff check src/ tests/ + + # Creates v tag after all 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-cli, test-sqlmesh, test-web] + 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 }}"