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>
51 lines
1.4 KiB
YAML
51 lines
1.4 KiB
YAML
name: Test
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
rust-fmt-check:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: rust:1.88-slim
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: rustup component add rustfmt
|
|
- run: cargo fmt --manifest-path src-tauri/Cargo.toml --check
|
|
|
|
rust-clippy:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: rust:1.88-slim
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: apt-get update -qq && apt-get install -y -qq libwebkit2gtk-4.1-dev libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev patchelf pkg-config perl
|
|
- run: rustup component add clippy
|
|
- run: cargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings
|
|
|
|
rust-tests:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: rust:1.88-slim
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: apt-get update -qq && apt-get install -y -qq libwebkit2gtk-4.1-dev libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev patchelf pkg-config perl
|
|
- run: cargo test --manifest-path src-tauri/Cargo.toml
|
|
|
|
frontend-typecheck:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: node:22-alpine
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: npm ci --legacy-peer-deps
|
|
- run: npx tsc --noEmit
|
|
|
|
frontend-tests:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: node:22-alpine
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: npm ci --legacy-peer-deps
|
|
- run: npm run test:run
|