Skip to content

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

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

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

Workflow file for this run

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