name: Single-thread Check Test on: push: branches: [ 'master', 'main', 'release/**' ] pull_request: branches: [ '*' ] workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true env: WOLFSSL_REF: v5.9.1-stable jobs: build_wolfssl: strategy: fail-fast: false matrix: os: [ ubuntu-latest, macos-14 ] name: Build wolfssl runs-on: ${{ matrix.os }} timeout-minutes: 4 steps: - name: Checking cache for wolfssl uses: actions/cache@v5 id: cache-wolfssl with: path: build-dir/ key: wolfssh-singlethread-check-wolfssl-${{ env.WOLFSSL_REF }}-${{ matrix.os }} lookup-only: true - name: Checkout, build, and install wolfssl if: steps.cache-wolfssl.outputs.cache-hit != 'true' uses: wolfSSL/actions-build-autotools-project@v1 with: repository: wolfssl/wolfssl ref: ${{ env.WOLFSSL_REF }} path: wolfssl configure: --enable-wolfssh --enable-singlethreaded --enable-keygen check: false install: true build_wolfssh: strategy: fail-fast: false matrix: os: [ ubuntu-latest, macos-14 ] config: [ '', '--enable-all', '--enable-sftp', '--enable-scp', '--enable-shell', ] name: Build wolfssh runs-on: ${{ matrix.os }} timeout-minutes: 4 needs: build_wolfssl steps: - name: Checking cache for wolfssl uses: actions/cache@v5 with: path: build-dir/ key: wolfssh-singlethread-check-wolfssl-${{ env.WOLFSSL_REF }}-${{ matrix.os }} fail-on-cache-miss: true - name: Checkout, build, and test wolfssh uses: wolfSSL/actions-build-autotools-project@v1 with: repository: wolfssl/wolfssh path: wolfssh configure: ${{ matrix.config }} LDFLAGS="-L${{ github.workspace }}/build-dir/lib" CPPFLAGS="-I${{ github.workspace }}/build-dir/include" check: true