tauri-plugin-profiling 0.1.0

Tauri plugin for CPU profiling with flamegraph generation
Documentation
name: Check Rust

on:
  push:
    branches: [main]
    paths:
      - '.github/workflows/check-rust.yml'
      - 'src/**'
      - 'examples/**'
      - '**/Cargo.toml'
  pull_request:
    branches: [main]
    paths:
      - '.github/workflows/check-rust.yml'
      - 'src/**'
      - 'examples/**'
      - '**/Cargo.toml'

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

env:
  CARGO_TERM_COLOR: always
  RUSTFLAGS: '-D warnings'

jobs:
  clippy:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-22.04, macos-latest, windows-latest]

    steps:
      - uses: actions/checkout@v4

      - name: Install Linux dependencies
        if: matrix.os == 'ubuntu-22.04'
        run: |
          sudo apt-get update
          sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy

      - uses: Swatinem/rust-cache@v2

      - name: Clippy
        run: cargo clippy --all-targets -- -D warnings

      - name: Clippy --all-features
        run: cargo clippy --all-targets --all-features -- -D warnings

  test:
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v4

      - name: Install Linux dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable

      - uses: Swatinem/rust-cache@v2

      - name: Test
        run: cargo test --workspace

      - name: Doc tests
        run: cargo test --doc --all-features