Skip to content

chore: bump version to 1.7.0 #247

chore: bump version to 1.7.0

chore: bump version to 1.7.0 #247

Workflow file for this run

name: CI
on:
push:
branches: [master, dev]
tags: ['v*']
pull_request:
branches: [master, dev]
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
test-frontend:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run frontend tests
run: SKIP_STORYBOOK_TESTS=1 npm test --if-present
- name: Build frontend
run: npm run build
test-backend:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Linux dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libgtk-3-dev \
libwebkit2gtk-4.1-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './src-tauri -> target'
- name: Run backend tests
run: cd src-tauri && cargo test
- name: Check backend formatting
run: cd src-tauri && cargo fmt --all -- --check
# TODO: 暂时允许格式检查失败,待后续统一处理代码格式
continue-on-error: true
- name: Run backend clippy
run: cd src-tauri && cargo clippy --all-targets --all-features -- -D warnings
# TODO: 暂时允许 clippy 警告,待后续逐步修复
continue-on-error: true
test-vscode-extension:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'npm'
cache-dependency-path: vscode-extension/package-lock.json
- name: Install extension dependencies
working-directory: ./vscode-extension
run: npm ci
- name: Run extension type check
working-directory: ./vscode-extension
run: npm run check
build-test:
needs: [test-frontend, test-backend, test-vscode-extension]
strategy:
fail-fast: false
matrix:
platform:
- macos-latest # 与 autobuild.yml 和 release.yml 保持一致
- ubuntu-latest
- windows-latest
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y \
libgtk-3-dev \
libwebkit2gtk-4.1-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './src-tauri -> target'
- name: Sync node version and setup cache
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'npm'
- name: Install frontend dependencies
run: npm ci
- name: Build frontend
run: npm run build
- name: Test Tauri build (debug)
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
with:
tauriScript: npm run tauri
args: --debug
security-scan:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Linux dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libgtk-3-dev \
libwebkit2gtk-4.1-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './src-tauri -> target'
- name: Install cargo-audit
run: cargo install cargo-audit --locked
- name: Run cargo audit
run: cd src-tauri && cargo audit
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run npm audit
run: npm audit --audit-level=moderate