-
Notifications
You must be signed in to change notification settings - Fork 79
108 lines (101 loc) · 4.01 KB
/
cmake-build.yml
File metadata and controls
108 lines (101 loc) · 4.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
name: WolfTPM CMake Build Tests
on:
push:
branches: [ 'master', 'main', 'release/**' ]
pull_request:
branches: [ '*' ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
config:
# Default configuration
- name: "Default"
options: "-DWOLFTPM_INTERFACE=SWTPM"
# Test different TPM modules
- name: "Module Auto"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_MODULE=auto"
- name: "Module ST33"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_MODULE=st33"
- name: "Module Microchip"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_MODULE=microchip"
- name: "Module Nuvoton"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_MODULE=nuvoton"
- name: "Module SLB9670"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_MODULE=slb9670"
- name: "Module SLB9672"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_MODULE=slb9672"
- name: "Module SLB9673"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_MODULE=slb9673"
# Test wrapper disabled
- name: "No Wrapper"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_WRAPPER=no"
# Test I2C support (enables ADV_IO automatically)
- name: "I2C Enabled"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_I2C=yes"
# Test Advanced IO
- name: "Advanced IO"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_ADVIO=yes"
# Test MMIO (enables ADV_IO automatically)
- name: "MMIO Enabled"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_MMIO=yes"
# Test Check Wait State
- name: "Check Wait State Enabled"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_CHECK_WAIT_STATE=yes"
- name: "Check Wait State Disabled"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_CHECK_WAIT_STATE=no"
# Test TIS Lock
- name: "TIS Lock Enabled"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_TIS_LOCK=yes"
# Test Small Stack
- name: "Small Stack"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_SMALL_STACK=yes"
# Test HAL disabled
- name: "No HAL"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_HAL=no"
# Test Firmware disabled
- name: "No Firmware"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_FIRMWARE=no"
# Test Debug modes
- name: "Debug Verbose"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_DEBUG=verbose"
- name: "Debug IO"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_DEBUG=io"
# Test Examples disabled
- name: "No Examples"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_EXAMPLES=no"
# Test combination of options
- name: "Combined Options"
options: "-DWOLFTPM_INTERFACE=SWTPM -DWOLFTPM_MODULE=st33 -DWOLFTPM_I2C=yes -DWOLFTPM_ADVIO=yes -DWOLFTPM_CHECK_WAIT_STATE=yes"
steps:
#pull wolfTPM
- uses: actions/checkout@master
# Install cmake
- name: Install cmake
run: |
sudo apt-get update
sudo apt-get install -y cmake
#pull and build wolfssl
- name: Checkout wolfssl
uses: actions/checkout@master
with:
repository: wolfssl/wolfssl
path: wolfssl
- name: Build wolfssl
working-directory: ./wolfssl
run: |
mkdir build
cd build
# wolfSSL PR 7188 broke "make install" unless WOLFSSL_INSTALL is set
cmake -DWOLFSSL_TPM=yes -DWOLFSSL_INSTALL=yes -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/install" ..
cmake --build .
cmake --install .
#build wolftpm
- name: Build wolfTPM (${{ matrix.config.name }})
run: |
mkdir build
cd build
cmake ${{ matrix.config.options }} -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/install" -DWITH_WOLFSSL="$GITHUB_WORKSPACE/install" ..
cmake --build .
cmake --install .