Files
desktop/.github/workflows/ci.yml
Ivan Li ca8d4a3d36 feat: upgrade to version 2.0.0-alpha with mainstream dependencies
- Update application version to 2.0.0-alpha
- Update application name to 'Ambient Light Control'
- Upgrade Node.js requirement to >=22.0.0 (current LTS)
- Upgrade pnpm requirement to >=10.0.0 (current stable)
- Update all GitHub Actions workflows to use Node.js 22 and pnpm 10
- Update README.md with current version requirements
- Add comprehensive project metadata to package.json
- Remove obsolete src-tauri/src-tauri directory structure
- Update Cargo.toml with proper project information
2025-07-09 20:05:38 +08:00

100 lines
2.2 KiB
YAML

name: CI
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
jobs:
lint-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './src-tauri -> target'
- name: Install frontend dependencies
run: pnpm install
- name: Check Rust formatting
run: cargo fmt --all --check
working-directory: src-tauri
- name: Lint Rust code
run: cargo clippy --all-targets --all-features -- -D warnings
working-directory: src-tauri
- name: Run Rust tests
run: cargo test --all-features
working-directory: src-tauri
- name: Build frontend
run: pnpm build
- name: Check Tauri build
run: cargo check --all-targets --all-features
working-directory: src-tauri
security-audit:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-audit
run: cargo install cargo-audit
- name: Run security audit
run: cargo audit
working-directory: src-tauri
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- name: Install frontend dependencies
run: pnpm install
- name: Run npm audit
run: pnpm audit --audit-level moderate