Skip to content

Commit f63f15e

Browse files
committed
Adds building and testing of examples to CI.
Signed-off-by: Jesper Brynolf <[email protected]>
1 parent 2df045f commit f63f15e

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-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 fedoracontainer tss-esapi/tests/ --file tss-esapi/tests/Dockerfile-fedora
133+
- name: Run the container
134+
run: docker run -v $(pwd):/tmp/rust-tss-esapi -w /tmp/rust-tss-esapi/tss-esapi --env USE_FROZEN_LOCKFILE=1 fedoracontainer dbus-run-session -- /tmp/rust-tss-esapi/tss-esapi/tests/examples.sh

tss-esapi/tests/examples.sh

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
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 SWTPM server #
24+
############################
25+
mkdir /tmp/tpmdir
26+
swtpm_setup --tpm2 \
27+
--tpmstate /tmp/tpmdir \
28+
--createek --decryption --create-ek-cert \
29+
--create-platform-cert \
30+
--pcr-banks sha1,sha256 \
31+
--display
32+
swtpm socket --tpm2 \
33+
--tpmstate dir=/tmp/tpmdir \
34+
--flags startup-clear \
35+
--ctrl type=tcp,port=2322 \
36+
--server type=tcp,port=2321 \
37+
--daemon
38+
39+
####################
40+
# Start tpm2-abrmd #
41+
####################
42+
tpm2-abrmd \
43+
--logger=stdout \
44+
--tcti=swtpm: \
45+
--allow-root \
46+
--session \
47+
--flush-all &
48+
49+
#################
50+
# Clear the TPM #
51+
#################
52+
tpm2_startup -c -T tabrmd:bus_type=session
53+
54+
####################
55+
# Run the examples #
56+
####################
57+
TEST_TCTI=tabrmd:bus_type=session RUST_BACKTRACE=1 RUST_LOG=info cargo run --example rsa_oaep

0 commit comments

Comments
 (0)