- Replace all .gitea/workflows with GitHub Actions equivalents - test.yml: port full Gitea pipeline (rust-test + frontend-test jobs) using ghcr.io/msicie/trcaa-linux-amd64:rust1.88-node22; triggers on main and feature/bug/fix branches plus PRs targeting main - release.yml: port auto-tag pipeline; switch to GITHUB_TOKEN + gh CLI for tagging, changelog, and artifact uploads; add macos-13 Intel build job alongside macos-latest ARM64; replace wiki sync to point at GitHub wiki; all master refs updated to main - build-images.yml: switch registry from local Gitea to ghcr.io/msicie, login with GITHUB_TOKEN - Delete pr-review.yml (qwen3-coder-next replaced by native Copilot review) - Add .github/CODEOWNERS with @Shaun-Arman-VFK387_moto + @github-copilot - Update Makefile: replace Gogs API/repo refs with gh CLI for uploads - Update CLAUDE.md: wiki URL, CI/CD section, branch refs (master→main)
72 lines
2.0 KiB
YAML
72 lines
2.0 KiB
YAML
name: Test
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- 'feature/**'
|
|
- 'bug/**'
|
|
- 'fix/**'
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
rust-test:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ghcr.io/msicie/trcaa-linux-amd64:rust1.88-node22
|
|
credentials:
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 1
|
|
- name: Cache cargo registry
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.cargo/registry/index
|
|
~/.cargo/registry/cache
|
|
~/.cargo/git/db
|
|
key: ${{ runner.os }}-cargo-linux-amd64-${{ hashFiles('**/Cargo.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-cargo-linux-amd64-
|
|
- name: Install npm dependencies
|
|
run: npm install --legacy-peer-deps
|
|
- name: Update version from Git
|
|
run: node scripts/update-version.mjs
|
|
- name: Generate lockfile
|
|
run: cargo generate-lockfile --manifest-path src-tauri/Cargo.toml
|
|
- name: Rust fmt check
|
|
run: cargo fmt --manifest-path src-tauri/Cargo.toml --check
|
|
- name: Rust clippy
|
|
run: cargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings
|
|
- name: Rust tests
|
|
run: cargo test --manifest-path src-tauri/Cargo.toml -- --test-threads=1
|
|
|
|
frontend-test:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: node:22-alpine
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 1
|
|
- name: Cache npm
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-npm-
|
|
- name: Install dependencies
|
|
run: npm ci --legacy-peer-deps
|
|
- name: TypeScript type check
|
|
run: npx tsc --noEmit
|
|
- name: Run frontend tests
|
|
run: npm run test:run
|