Skip to content

Commit e1fd179

Browse files
committed
Adds building and testing of examples to CI.
Signed-off-by: Jesper Brynolf <jesper.brynolf@gmail.com>
1 parent 2df045f commit e1fd179

File tree

3 files changed

+65
-0
lines changed

3 files changed

+65
-0
lines changed

.github/workflows/ci.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,3 +121,14 @@ jobs:
121121
run: docker run -v $(pwd):/tmp/rust-tss-esapi -w /tmp/rust-tss-esapi/tss-esapi --env RUST_TOOLCHAIN_VERSION=1.74.0 ubuntucontainer /tmp/rust-tss-esapi/tss-esapi/tests/lint-checks.sh
122122
- name: Check Clippy lints latest
123123
run: docker run -v $(pwd):/tmp/rust-tss-esapi -w /tmp/rust-tss-esapi/tss-esapi ubuntucontainer /tmp/rust-tss-esapi/tss-esapi/tests/lint-checks.sh
124+
125+
# Check that examples builds can be executed.
126+
tests-examples:
127+
name: Check examples
128+
runs-on: ubuntu-latest
129+
steps:
130+
- uses: actions/checkout@v5
131+
- name: Build the container
132+
run: docker build -t ubuntucontainer tss-esapi/tests/ --file tss-esapi/tests/Dockerfile-ubuntu --target tpm2-abrmd
133+
- name: Run the container
134+
run: docker run -v $(pwd):/tmp/rust-tss-esapi -w /tmp/rust-tss-esapi/tss-esapi ubuntucontainer /tmp/rust-tss-esapi/tss-esapi/tests/examples.sh

tss-esapi/tests/Dockerfile-ubuntu

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,14 @@ RUN cd tpm2-tools \
2828
&& ./configure \
2929
&& make install
3030

31+
FROM tpm2-tools AS tpm2-abrmd
32+
# Download and install TPM2 ABRMD
33+
RUN git clone https://github.com/tpm2-software/tpm2-abrmd.git --branch 3.0.0
34+
RUN cd tpm2-abrmd \
35+
&& ./bootstrap \
36+
&& ./configure \
37+
&& make install
38+
3139
FROM tpm2-tools AS tpm2-tss-install-dir
3240
# TPM2_TSS_PATH is the env variable build.rs looks for
3341
# an installation.

tss-esapi/tests/examples.sh

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright 2019 Contributors to the Parsec project.
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
# This script builds and tests the examples.
7+
# It can be run inside the container which Dockerfile
8+
# is in the same folder.
9+
10+
set -euf -o pipefail
11+
12+
#################################################
13+
# Change rust toolchain version
14+
#################################################
15+
if [[ ! -z ${RUST_TOOLCHAIN_VERSION:+x} ]]; then
16+
rustup override set ${RUST_TOOLCHAIN_VERSION}
17+
# Use the frozen Cargo lock to prevent any drift from MSRV being upgraded
18+
# underneath our feet.
19+
cp tests/Cargo.lock.frozen ../Cargo.lock
20+
fi
21+
22+
#################################
23+
# Run the TPM simulation server #
24+
#################################
25+
tpm_server &
26+
sleep 5
27+
28+
####################
29+
# Start tpm2-abrmd #
30+
####################
31+
tpm2-abrmd \
32+
--logger=stdout \
33+
--tcti=mssim: \
34+
--allow-root \
35+
--session \
36+
--flush-all &
37+
38+
#################
39+
# Clear the TPM #
40+
#################
41+
tpm2_startup -clear -T tabrmd
42+
43+
####################
44+
# Run the examples #
45+
####################
46+
TEST_TCTI=tabrmd: RUST_BACKTRACE=1 RUST_LOG=info cargo run --example certify

0 commit comments

Comments
 (0)