Enforce NVM objects' flags #1181
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |