Skip to content

Merge commit from fork #131

Merge commit from fork

Merge commit from fork #131

Workflow file for this run

name: CI
permissions:
contents: read
on:
pull_request:
push:
branches:
- main
- master
- develop
workflow_dispatch:
jobs:
frontend-security:
name: Frontend security tests
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Node setup
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- name: Install dependencies
run: npm ci --legacy-peer-deps
- name: Type-check and test
run: |
npm run type-check
npm test
vault-crypto-known-answer:
name: Focused Rust security (${{ matrix.platform }})
strategy:
fail-fast: false
matrix:
platform: [ubuntu-22.04, windows-latest, macos-latest]
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies (Ubuntu)
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libssl-dev
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
- name: Rust cache
uses: Swatinem/rust-cache@v2
with:
workspaces: src-tauri
- name: Run focused Rust security tests
working-directory: src-tauri
env:
# Required only because sync commands compile with env!("GOOGLE_CLIENT_ID").
# The vault crypto known-answer tests do not use Google OAuth.
GOOGLE_CLIENT_ID: ci-known-answer-test-client-id
run: |
cargo test vault::crypto::tests::known_answer_kdf_is_reproducible -- --exact
cargo test vault::crypto::tests::known_answer_aead_is_reproducible -- --exact
cargo test ai::config::tests
cargo test local_only
cargo test commands::private_key_inspection_tests
cargo test ssh::tests -- --test-threads=1
- name: Run ignored SSH security tests on Linux
if: matrix.platform == 'ubuntu-22.04'
working-directory: src-tauri
env:
GOOGLE_CLIENT_ID: ci-known-answer-test-client-id
run: cargo test ssh::tests -- --ignored --test-threads=1