Skip to content

docs(vault): v3 KDF-stretch design spec (scrypt) #2

docs(vault): v3 KDF-stretch design spec (scrypt)

docs(vault): v3 KDF-stretch design spec (scrypt) #2

Workflow file for this run

name: CI
on:
push:
branches: ["**"]
pull_request:
env:
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "1"
jobs:
build-and-test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
node-version: [20, 22]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
- run: npm ci
- run: npm run build
- run: npm run typecheck
- name: Test with coverage
run: |
mkdir -p .test-artifacts
set -o pipefail
npm run test:coverage 2>&1 | tee .test-artifacts/vitest.log
- name: Assert no secret shapes in test artifacts
run: node scripts/assert-no-secret-leak.mjs .test-artifacts
- name: Verify MCP tarball is clean
if: matrix.node-version == 22
run: |
cd packages/mcp-server
npm pack --dry-run 2>&1 | tee /tmp/pack.txt
if grep -qE "dev-tools/|\.chrome-profile|captures/" /tmp/pack.txt; then
echo "ERROR: Private files would leak into npm tarball!"
exit 1
fi
- name: Verify VSIX is clean
if: matrix.node-version == 22
run: |
cd packages/extension
npm run prepare:package-deps || true
npx @vscode/vsce ls --no-dependencies 2>&1 | tee /tmp/vsix.txt
if grep -qE "\.ts$|dev-tools" /tmp/vsix.txt; then
echo "ERROR: Source files would leak into VSIX!"
exit 1
fi