Skip to content

Nvm ids per client #1089

Nvm ids per client

Nvm ids per client #1089

name: Multi-threaded Stress Test
on:
push:
branches: [ 'master', 'main', 'release/**' ]
schedule:
# Weekly ccache reseed; also keeps caches from 7-day eviction
- cron: '0 6 * * 1'
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches: [ '*' ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
build:
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.draft == false }}
runs-on: ubuntu-latest
# The stress suite runs every phase in three namespace variants
# (global/local/mixed), so give it headroom beyond the old 10 minutes
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
# List host CPU info
- name: Host CPU info
run: cat /proc/cpuinfo
# List compiler version
- name: List compiler version
run: gcc --version
# pull and build wolfssl
- name: Checkout wolfssl
uses: actions/checkout@v4
with:
repository: wolfssl/wolfssl
path: wolfssl
# Compiler cache; PR runs restore without saving
- name: Set up ccache
uses: ./.github/actions/ccache-setup
with:
workflow-id: build-and-test-stress
read-only: ${{ github.event_name == 'pull_request' }}
# Build and run stress tests with TSAN
- name: Build and run stress tests with TSAN
run: cd test && make clean && make -j THREADSAFE=1 TSAN=1 STRESS=1 DMA=1 SHE=1 WOLFSSL_DIR=../wolfssl && make TSAN=1 run