Skip to content

Enforce NVM objects' flags #1181

Enforce NVM objects' flags

Enforce NVM objects' flags #1181

name: Build and Test
on:
push:
branches: [ 'master', 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
jobs:
build:
runs-on: ubuntu-latest
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
# get last release version fo wolfssl
- name: Get latest wolfssl release tag
uses: actions/github-script@v7
id: latest-release
with:
script: |
const release = await github.rest.repos.getLatestRelease({
owner: 'wolfssl',
repo: 'wolfssl'
});
return release.data.tag_name;
result-encoding: string
- name: Checkout wolfssl
uses: actions/checkout@v4
with:
repository: wolfssl/wolfssl
ref: ${{ steps.latest-release.outputs.result }}
path: wolfssl # pull and build wolfssl
# Build and test standard build
- name: Build and test
run: cd test && make clean && make -j WOLFSSL_DIR=../wolfssl && make run
# Build and test standard build, with DMA and ASAN enabled
- name: Build and test DMA ASAN
run: cd test && make clean && make -j DMA=1 ASAN=1 WOLFSSL_DIR=../wolfssl && make run
# Build and test ASAN build, with wolfCrypt tests enabled.
- name: Build and test ASAN TESTWOLFCRYPT
run: cd test && make clean && make -j ASAN=1 TESTWOLFCRYPT=1 WOLFSSL_DIR=../wolfssl && make run
# Build and test ASAN build, with wolfCrypt tests enabled and using the DMA devId.
- name: Build and test ASAN TESTWOLFCRYPT TESTWOLFCRYPT_DMA
run: cd test && make clean && make -j ASAN=1 TESTWOLFCRYPT=1 TESTWOLFCRYPT_DMA=1 DMA=1 WOLFSSL_DIR=../wolfssl && make run
# Build and test debug build with ASAN and NOCRYPTO
- name: Build and test ASAN DEBUG NOCRYPTO
run: cd test && make clean && make -j DEBUG=1 ASAN=1 NOCRYPTO=1 WOLFSSL_DIR=../wolfssl && make run
# Build and test debug build with ASAN and DMA
- name: Build and test ASAN DEBUG DMA
run: cd test && make clean && make -j DEBUG=1 ASAN=1 DMA=1 WOLFSSL_DIR=../wolfssl && make run
# Build and test with SHE and ASAN
- name: Build and test ASAN SHE
run: cd test && make clean && make -j SHE=1 ASAN=1 WOLFSSL_DIR=../wolfssl && make run
# Build and test with DEBUG=1
- name: Build and test with DEBUG
run: cd test && make clean && make -j DEBUG=1 WOLFSSL_DIR=../wolfssl && make run
# Build and test with DEBUG_VERBOSE=1 (includes DEBUG)
- name: Build and test with DEBUG_VERBOSE
run: cd test && make clean && make -j DEBUG_VERBOSE=1 WOLFSSL_DIR=../wolfssl && make run