mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-10-14 21:20:48 +08:00
* feat(service): isolate macOS launch and owner runtime * ci(windows): run owner security tests * chore(deps): use kode-bridge v0.4.1 tag * fix(macos): classify installed service state * fix(macos): classify marked unavailable service * fix(macos): gate core startup on service migration * fix(macos): scope service init to supported platforms * feat(macos): prompt before migrating installed service * fix(macos): shorten sidecar IPC path * build(service): pin helper protocol and artifacts * fix(core): require confirmed service and sidecar readiness * fix(macos): harden launch roots and singleton state * fix(ui): refresh migration state before restart * fix(macos): linearize service migration lifecycle * fix(ui): keep service migration state fresh * feat(service): track authenticated owner sessions * fix(service): preserve newer owner sessions * feat(macos): route service proxy changes through helper * fix(macos): serialize service proxy guard * fix(macos): close service proxy owner lifecycle * fix(macos): close remaining proxy stop races * fix(app): do not cancel controlled service stop * fix(lifecycle): keep controlled updates cancellation-safe * fix(macos): stage dev core for service * test(macos): exercise staged core cleanup * fix(dev): await controlled macOS exit * chore: update changelog * fix(macos): recover sidecar after service install failure Allow the existing sidecar to continue when service installation leaves the manager in InstallRequired, then settle the session state as SidecarAllowed. Show neutral status text while the migration dialog waits for its final state. * fix(macos): stage dev service tools before elevation * fix(macos): localize launch guard prompts * fix(service): address cross-platform integration issues * feat: support seamless service migration * fix: pass Windows service installer path safely * fix(prebuild): derive service release from Cargo dependency * fix(dev): preserve service installation state * fix: resolve clippy warnings in service lifecycle
92 lines
2.8 KiB
YAML
92 lines
2.8 KiB
YAML
name: Clippy Lint
|
|
|
|
on:
|
|
pull_request:
|
|
workflow_dispatch:
|
|
env:
|
|
HUSKY: 0
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
clippy:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: windows-latest
|
|
target: x86_64-pc-windows-msvc
|
|
- os: macos-latest
|
|
target: aarch64-apple-darwin
|
|
- os: ubuntu-22.04
|
|
target: x86_64-unknown-linux-gnu
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Check src-tauri changes
|
|
if: github.event_name != 'workflow_dispatch'
|
|
id: check_changes
|
|
uses: dorny/paths-filter@v4
|
|
with:
|
|
filters: |
|
|
rust:
|
|
- 'src-tauri/**'
|
|
|
|
- name: Skip if src-tauri not changed
|
|
if: github.event_name != 'workflow_dispatch' && steps.check_changes.outputs.rust != 'true'
|
|
run: echo "No src-tauri changes, skipping clippy lint."
|
|
|
|
- name: Continue if src-tauri changed
|
|
if: github.event_name != 'workflow_dispatch' && steps.check_changes.outputs.rust == 'true'
|
|
run: echo "src-tauri changed, running clippy lint."
|
|
|
|
- name: Manual trigger - always run
|
|
if: github.event_name == 'workflow_dispatch'
|
|
run: |
|
|
echo "Manual trigger detected: skipping changes check and running clippy."
|
|
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v7
|
|
|
|
- name: Install Rust Stable
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
components: clippy
|
|
|
|
- name: Add Rust Target
|
|
run: rustup target add ${{ matrix.target }}
|
|
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v2
|
|
with:
|
|
save-if: ${{ github.ref == 'refs/heads/dev' }}
|
|
prefix-key: 'v1-rust'
|
|
key: 'rust-shared-stable-${{ matrix.os }}-${{ matrix.target }}'
|
|
workspaces: |
|
|
. -> target
|
|
cache-all-crates: true
|
|
cache-workspace-crates: true
|
|
|
|
- name: Install dependencies (ubuntu only)
|
|
if: matrix.os == 'ubuntu-22.04'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libxslt1.1 libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev patchelf
|
|
|
|
- name: Run Clippy
|
|
working-directory: ./src-tauri
|
|
run: cargo clippy-all
|
|
|
|
- name: Run Windows security tests
|
|
if: matrix.os == 'windows-latest' && (github.event_name == 'workflow_dispatch' || steps.check_changes.outputs.rust == 'true')
|
|
working-directory: ./src-tauri
|
|
run: cargo test --all-features --target ${{ matrix.target }}
|
|
|
|
- name: Run Logging Check
|
|
working-directory: ./src-tauri
|
|
shell: bash
|
|
run: |
|
|
cargo install --git https://github.com/clash-verge-rev/clash-verge-logging-check.git
|
|
clash-verge-logging-check
|