ci: migrate from Woodpecker to Gitea Actions
Replaces .woodpecker/*.yml with Gitea Actions workflows:
- .gitea/workflows/test.yml: triggers on push/PR, runs 5 jobs
(rust-fmt-check, rust-clippy, rust-tests, frontend-typecheck,
frontend-tests) using rust:1.88-slim and node:22-alpine containers.
- .gitea/workflows/release.yml: triggers on v* tags, 4 jobs:
- build-linux-amd64 (linux-amd64 runner, cross-compile x86_64)
- build-windows-amd64 (linux-amd64 runner, mingw cross-compile)
- build-linux-arm64 (linux-arm64 runner, native aarch64)
- upload-release (runs after all 3 build jobs, uses
actions/download-artifact + Gitea release API)
Runners registered:
- amd64-docker-runner (Docker, 172.0.0.29, labels: ubuntu-latest linux-amd64)
- arm64-native-runner (systemd, local arm64 machine, label: linux-arm64)
Secrets: RELEASE_TOKEN set in repo Actions secrets.
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>