[AC-2102] [AC-2263] [AC-2264] Consolidated Secrets Manager Trial Upda… #20007
This file contains 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: Run tests | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- "main" | |
- "rc" | |
- "hotfix-rc-*" | |
pull_request: | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
test: | |
name: Run tests | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Get Node Version | |
id: retrieve-node-version | |
run: | | |
NODE_NVMRC=$(cat .nvmrc) | |
NODE_VERSION=${NODE_NVMRC/v/''} | |
echo "node_version=$NODE_VERSION" >> $GITHUB_OUTPUT | |
- name: Set up Node | |
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 | |
with: | |
cache: 'npm' | |
cache-dependency-path: '**/package-lock.json' | |
node-version: ${{ steps.retrieve-node-version.outputs.node_version }} | |
- name: Print environment | |
run: | | |
node --version | |
npm --version | |
- name: Install Node dependencies | |
run: npm ci | |
# We use isolatedModules: true which disables typechecking in tests | |
# Tests in apps/ are typechecked when their app is built, so we just do it here for libs/ | |
# See https://bitwarden.atlassian.net/browse/EC-497 | |
- name: Run typechecking | |
run: npm run test:types --coverage | |
- name: Run tests | |
run: npm run test --coverage | |
- name: Report test results | |
uses: dorny/test-reporter@eaa763f6ffc21c7a37837f56cd5f9737f27fc6c8 # v1.8.0 | |
if: always() | |
with: | |
name: Test Results | |
path: "junit.xml" | |
reporter: jest-junit | |
fail-on-error: true | |
- name: Upload to codecov.io | |
uses: codecov/codecov-action@54bcd8715eee62d40e33596ef5e8f0f48dbbccab # v4.1.0 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
rust: | |
name: rust - ${{ matrix.os }} | |
runs-on: ${{ matrix.os || 'ubuntu-latest' }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
steps: | |
- name: Rust version check | |
run: rustup --version | |
- name: Install gnome-keyring | |
if: ${{ matrix.os=='ubuntu-latest' }} | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y gnome-keyring dbus-x11 | |
- name: Checkout repo | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Build | |
working-directory: ./apps/desktop/desktop_native | |
run: cargo build | |
- name: Test Ubuntu | |
if: ${{ matrix.os=='ubuntu-latest' }} | |
working-directory: ./apps/desktop/desktop_native | |
run: | | |
eval "$(dbus-launch --sh-syntax)" | |
mkdir -p ~/.cache | |
mkdir -p ~/.local/share/keyrings | |
eval "$(printf '\n' | gnome-keyring-daemon --unlock)" | |
eval "$(printf '\n' | /usr/bin/gnome-keyring-daemon --start)" | |
cargo test -- --test-threads=1 | |
- name: Test Windows / macOS | |
if: ${{ matrix.os!='ubuntu-latest' }} | |
working-directory: ./apps/desktop/desktop_native | |
run: cargo test -- --test-threads=1 |