Skip to content

fix(secret): stop the mlock guard from aborting the app on drop #2685

fix(secret): stop the mlock guard from aborting the app on drop

fix(secret): stop the mlock guard from aborting the app on drop #2685

Workflow file for this run

name: Tests
# Path filters below fire on any change that can affect a build or test result,
# and on nothing that cannot. `**/*.rs` covers build.rs and every crate's
# sources; documentation changes deliberately match nothing.
on:
push:
branches:
- "v*-dev"
paths: &code_paths
- "**/*.rs" # includes build.rs
- "**/Cargo.toml"
- "Cargo.lock"
- ".cargo/config.toml"
- "rust-toolchain.toml"
- "tests/backend-e2e/**"
- ".github/workflows/tests.yml"
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths: *code_paths
# Allows a manual run against a branch. Draft PRs are suppressed by the
# `draft != true` guard below and otherwise have no way to run CI at all; a
# manual run covers them. Note it tests the branch head, not the PR merge
# commit, so it does not prove the merged result is green.
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
test:
name: Test Suite
if: github.event.pull_request.draft != true
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Cache Cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-registry-
# No `toolchain` input: the action installs what rust-toolchain.toml pins,
# so this job runs the same compiler the project builds with. Naming a
# version here (or setting a rustup override) would take precedence over
# that file and silently test a different toolchain than the pinned one.
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
# This action defaults RUSTFLAGS to "-D warnings"; the test job has
# never denied warnings and Clippy owns that gate, so keep it unset.
rustflags: ""
# Cargo caching is handled by the actions/cache step above.
cache: false
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential pkg-config clang cmake libsqlite3-dev
- name: Install protoc
run: |
curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v25.2/protoc-25.2-linux-x86_64.zip
sudo unzip -o protoc-25.2-linux-x86_64.zip -d /usr/local bin/protoc
sudo unzip -o protoc-25.2-linux-x86_64.zip -d /usr/local 'include/*'
rm -f protoc-25.2-linux-x86_64.zip
env:
PROTOC: /usr/local/bin/protoc
- name: Run tests
uses: actions-rs/cargo@v1
with:
command: test
args: --all-features --workspace
- name: Run doc tests
uses: actions-rs/cargo@v1
with:
command: test
args: --doc --all-features --workspace
# TODO: Re-enable after backend E2E tests are updated for TaskError migration
# - name: Run backend E2E tests
# run: cargo test --test backend-e2e --all-features -- --ignored --nocapture --test-threads=1
# env:
# E2E_WALLET_MNEMONIC: ${{ secrets.E2E_WALLET_MNEMONIC }}
# - name: Cleanup E2E test wallets
# if: always()
# run: cargo test --test backend-e2e --all-features -- --ignored --nocapture cleanup_only
# env:
# E2E_WALLET_MNEMONIC: ${{ secrets.E2E_WALLET_MNEMONIC }}