Merge commit from fork #131
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: 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 |