chore(deps): bump rollup from 4.57.1 to 4.59.0 in /crates/spectre-gui/frontend in the npm_and_yarn group across 1 directory #12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: GUI CI | |
| on: | |
| push: | |
| branches: [main, develop] | |
| paths: | |
| - 'crates/spectre-gui/**' | |
| - '.github/workflows/gui.yml' | |
| pull_request: | |
| branches: [main, develop] | |
| paths: | |
| - 'crates/spectre-gui/**' | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| jobs: | |
| frontend-check: | |
| name: Frontend Type Check & Tests | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: 'pnpm' | |
| cache-dependency-path: crates/spectre-gui/frontend/pnpm-lock.yaml | |
| - name: Install frontend dependencies | |
| run: | | |
| cd crates/spectre-gui/frontend | |
| pnpm install --frozen-lockfile | |
| - name: TypeScript type check | |
| run: | | |
| cd crates/spectre-gui/frontend | |
| pnpm typecheck | |
| - name: Run frontend tests | |
| run: | | |
| cd crates/spectre-gui/frontend | |
| pnpm test | |
| gui-build-matrix: | |
| name: Build GUI (${{ matrix.platform.name }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: | |
| - name: Linux x86_64 | |
| os: ubuntu-22.04 | |
| rust: stable | |
| target: x86_64-unknown-linux-gnu | |
| - name: macOS x86_64 | |
| os: macos-15-intel | |
| rust: stable | |
| target: x86_64-apple-darwin | |
| - name: macOS ARM64 | |
| os: macos-14 | |
| rust: stable | |
| target: aarch64-apple-darwin | |
| - name: Windows x86_64 | |
| os: windows-2022 | |
| rust: stable | |
| target: x86_64-pc-windows-msvc | |
| runs-on: ${{ matrix.platform.os }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: false | |
| - name: Initialize submodules | |
| run: git submodule update --init --depth 1 components/prtip components/wraith-protocol components/cyberchef-mcp | |
| - name: Install system dependencies (Linux) | |
| if: matrix.platform.os == 'ubuntu-22.04' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| libwebkit2gtk-4.1-dev \ | |
| build-essential \ | |
| curl \ | |
| wget \ | |
| file \ | |
| libssl-dev \ | |
| libgtk-3-dev \ | |
| libayatana-appindicator3-dev \ | |
| librsvg2-dev \ | |
| libpcap-dev | |
| - name: Install system dependencies (macOS) | |
| if: runner.os == 'macOS' | |
| run: | | |
| brew install libpcap | |
| - name: Install system dependencies (Windows) | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: | | |
| # Download Npcap SDK for ProRT-IP | |
| Invoke-WebRequest -Uri "https://npcap.com/dist/npcap-sdk-1.13.zip" -OutFile "npcap-sdk.zip" | |
| Expand-Archive -Path "npcap-sdk.zip" -DestinationPath "npcap-sdk" | |
| echo "LIB=${{ github.workspace }}\npcap-sdk\Lib\x64" >> $env:GITHUB_ENV | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: ${{ matrix.platform.rust }} | |
| targets: ${{ matrix.platform.target }} | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: "crates/spectre-gui -> target" | |
| key: ${{ matrix.platform.target }} | |
| prefix-key: "v2" | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: 'pnpm' | |
| cache-dependency-path: crates/spectre-gui/frontend/pnpm-lock.yaml | |
| - name: Install frontend dependencies | |
| run: | | |
| cd crates/spectre-gui/frontend | |
| pnpm install --frozen-lockfile | |
| - name: Build frontend | |
| run: | | |
| cd crates/spectre-gui/frontend | |
| pnpm build | |
| - name: Build GUI | |
| run: cargo build --release -p spectre-gui --target ${{ matrix.platform.target }} | |
| - name: Run GUI tests | |
| run: cargo test -p spectre-gui --target ${{ matrix.platform.target }} --verbose |