name: Build Rust Wrapper # START OF COMMON SECTION on: push: branches: [ 'master', 'main', 'release/**' ] pull_request: branches: [ '*' ] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true # END OF COMMON SECTION jobs: build_wolfssl: name: Build wolfSSL Rust Wrapper if: github.repository_owner == 'wolfssl' runs-on: ${{ matrix.os }} # This should be a safe limit for the tests to run. timeout-minutes: 10 steps: - name: Build wolfSSL uses: wolfSSL/actions-build-autotools-project@v1 with: path: wolfssl configure: ${{ matrix.config }} - name: Build Rust Wrapper working-directory: wolfssl run: make -C wrapper/rust - name: Run Rust Wrapper Tests working-directory: wolfssl run: make -C wrapper/rust test strategy: matrix: os: [ ubuntu-24.04, ubuntu-24.04-arm ] config: [ # Add new configs here '', '--enable-all', '--enable-cryptonly --disable-examples', '--enable-cryptonly --disable-examples --disable-aes --disable-aesgcm', '--enable-cryptonly --disable-examples --disable-aescbc', '--enable-cryptonly --disable-examples --disable-aeseax', '--enable-cryptonly --disable-examples --disable-aesecb', '--enable-cryptonly --disable-examples --disable-aesccm', '--enable-cryptonly --disable-examples --disable-aescfb', '--enable-cryptonly --disable-examples --disable-aesctr', '--enable-cryptonly --disable-examples --disable-aescts', '--enable-cryptonly --disable-examples --disable-aesgcm', '--enable-cryptonly --disable-examples --disable-aesgcm-stream', '--enable-cryptonly --disable-examples --disable-aesofb', '--enable-cryptonly --disable-examples --disable-aesxts', '--enable-cryptonly --disable-examples --disable-cmac', '--enable-cryptonly --disable-examples --disable-dh', '--enable-cryptonly --disable-examples --disable-ecc', '--enable-cryptonly --disable-examples --disable-ed25519', '--enable-cryptonly --disable-examples --disable-ed25519-stream', '--enable-cryptonly --disable-examples --disable-ed448', '--enable-cryptonly --disable-examples --disable-ed448-stream', '--enable-cryptonly --disable-examples --disable-hkdf', '--enable-cryptonly --disable-examples --disable-hmac', '--enable-cryptonly --disable-examples --disable-rng', '--enable-cryptonly --disable-examples --disable-rsa', '--enable-cryptonly --disable-examples --disable-rsapss', '--enable-cryptonly --disable-examples --disable-sha224', '--enable-cryptonly --disable-examples --disable-sha3', '--enable-cryptonly --disable-examples --disable-sha384', '--enable-cryptonly --disable-examples --disable-sha512', '--enable-cryptonly --disable-examples --disable-shake128', '--enable-cryptonly --disable-examples --disable-shake256', '--enable-cryptonly --disable-examples --disable-srtp-kdf', '--enable-cryptonly --disable-examples --disable-x963kdf', ]