Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 73 additions & 2 deletions .github/workflows/cmake-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,77 @@ jobs:
build:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
config:
# Default configuration (SWTPM first)
- name: "Defaults"
options: ""
# ST33 supports both SPI and I2C
- name: "Module ST33 SPI"
options: "-DWOLFTPM_INTERFACE=SPI -DWOLFTPM_MODULE=st33"
- name: "Module ST33 I2C"
options: "-DWOLFTPM_INTERFACE=I2C -DWOLFTPM_MODULE=st33"
# Other modules use SPI
- name: "Module Microchip"
options: "-DWOLFTPM_INTERFACE=SPI -DWOLFTPM_MODULE=microchip"
- name: "Module Nuvoton"
options: "-DWOLFTPM_INTERFACE=SPI -DWOLFTPM_MODULE=nuvoton"
- name: "Module SLB9670"
options: "-DWOLFTPM_INTERFACE=SPI -DWOLFTPM_MODULE=slb9670"
- name: "Module SLB9672"
options: "-DWOLFTPM_INTERFACE=SPI -DWOLFTPM_MODULE=slb9672"
# SLB9673 is I2C
- name: "Module SLB9673 I2C"
options: "-DWOLFTPM_INTERFACE=I2C -DWOLFTPM_MODULE=slb9673"
# Test wrapper disabled
- name: "No Wrapper"
options: "-DWOLFTPM_WRAPPER=no"
# Test I2C support (enables ADV_IO automatically)
- name: "I2C Enabled (legacy)"
options: "-DWOLFTPM_I2C=yes"
# Test interface options
- name: "Interface I2C"
options: "-DWOLFTPM_INTERFACE=I2C"
- name: "Interface SPI"
options: "-DWOLFTPM_INTERFACE=SPI"
# Test Advanced IO
- name: "Advanced IO"
options: "-DWOLFTPM_INTERFACE=SPI -DWOLFTPM_ADVIO=yes"
- name: "Advanced IO I2C"
options: "-DWOLFTPM_INTERFACE=I2C -DWOLFTPM_ADVIO=yes"
# Test MMIO (enables ADV_IO automatically)
- name: "MMIO Enabled"
options: "-DWOLFTPM_MMIO=yes"
# Test Check Wait State
- name: "Check Wait State Enabled"
options: "-DWOLFTPM_INTERFACE=SPI -DWOLFTPM_CHECK_WAIT_STATE=yes"
- name: "Check Wait State Disabled"
options: "-DWOLFTPM_INTERFACE=SPI -DWOLFTPM_CHECK_WAIT_STATE=no"
# Test TIS Lock
- name: "TIS Lock Enabled"
options: "-DWOLFTPM_INTERFACE=SPI -DWOLFTPM_TIS_LOCK=yes"
# Test Small Stack
- name: "Small Stack"
options: "-DWOLFTPM_INTERFACE=SPI -DWOLFTPM_SMALL_STACK=yes"
# Test HAL disabled
- name: "No HAL"
options: "-DWOLFTPM_HAL=no"
# Test Firmware disabled
- name: "No Firmware"
options: "-DWOLFTPM_FIRMWARE=no"
# Test Debug modes
- name: "Debug Verbose"
options: "-DWOLFTPM_DEBUG=verbose"
- name: "Debug IO"
options: "-DWOLFTPM_DEBUG=io"
# Test Examples disabled
- name: "No Examples"
options: "-DWOLFTPM_EXAMPLES=no"
# Test combination of options
- name: "Combined Options"
options: "-DWOLFTPM_INTERFACE=I2C -DWOLFTPM_MODULE=st33 -DWOLFTPM_ADVIO=yes -DWOLFTPM_CHECK_WAIT_STATE=yes"

steps:
#pull wolfTPM
Expand Down Expand Up @@ -38,10 +109,10 @@ jobs:
cmake --install .

#build wolftpm
- name: Build wolfTPM
- name: Build wolfTPM (${{ matrix.config.name }})
run: |
mkdir build
cd build
cmake -DWOLFTPM_INTERFACE=SWTPM -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/install" -DWITH_WOLFSSL="$GITHUB_WORKSPACE/install" ..
cmake ${{ matrix.config.options }} -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/install" -DWITH_WOLFSSL="$GITHUB_WORKSPACE/install" ..
cmake --build .
cmake --install .
Loading