Skip to content

Commit 2af52d7

Browse files
b49020DemesneGH
authored andcommitted
CI: Enable 32-bit Rust examples runtime testing
Now OP-TEE build system has been updated to support 32-bit Rust TAs, so enable runtime testing for them. Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
1 parent bc6ae89 commit 2af52d7

File tree

1 file changed

+37
-12
lines changed

1 file changed

+37
-12
lines changed

.github/workflows/ci.yml

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,15 @@ jobs:
8585
8686
# Build OP-TEE rust examples for Arm 64-bit both host and TA
8787
export TA_DEV_KIT_DIR=~/optee_os/out/arm-plat-vexpress/export-ta_arm64/
88-
make
88+
make -j`nproc`
8989
9090
# Build OP-TEE rust examples for Arm 64-bit host and 32-bit TA
9191
export TA_DEV_KIT_DIR=~/optee_os/out/arm-plat-vexpress/export-ta_arm32/
9292
export CROSS_COMPILE_HOST=$CROSS_COMPILE64
9393
export CROSS_COMPILE_TA=$CROSS_COMPILE32
9494
export TARGET_HOST="aarch64-unknown-linux-gnu"
9595
export TARGET_TA="arm-unknown-linux-gnueabihf"
96-
make clean && make
96+
make clean && make -j`nproc`
9797
9898
# Build OP-TEE rust examples for Arm 32-bit both host and TA
9999
export TA_DEV_KIT_DIR=~/optee_os/out/arm-plat-vexpress/export-ta_arm32/
@@ -102,20 +102,22 @@ jobs:
102102
export TARGET_HOST="arm-unknown-linux-gnueabihf"
103103
export TARGET_TA="arm-unknown-linux-gnueabihf"
104104
(cd ~/optee_client && make clean && make CROSS_COMPILE=$CROSS_COMPILE32 WITH_TEEACL=0)
105-
make clean && make
105+
make clean && make -j`nproc`
106106
107107
# Build OP-TEE rust examples for Arm 32-bit host and 64-bit TA
108108
export TA_DEV_KIT_DIR=~/optee_os/out/arm-plat-vexpress/export-ta_arm64/
109109
export CROSS_COMPILE_HOST=$CROSS_COMPILE32
110110
export CROSS_COMPILE_TA=$CROSS_COMPILE64
111111
export TARGET_HOST="arm-unknown-linux-gnueabihf"
112112
export TARGET_TA="aarch64-unknown-linux-gnu"
113-
make clean && make
113+
make clean && make -j`nproc`
114114
115-
build-and-run-examples-in-OPTEE-repo:
115+
OPTEE-repo-build-and-run-examples-64bit-TAs:
116116
runs-on: ubuntu-latest
117117
container: teaclave/teaclave-trustzone-sdk-build:0.3.0
118118
steps:
119+
- name: Remove /__t/*
120+
run: rm -rf /__t/*
119121
- name: Checkout repository
120122
uses: actions/checkout@v2
121123
with:
@@ -129,21 +131,44 @@ jobs:
129131
mkdir -p ~/optee-qemuv8 && cd ~/optee-qemuv8 &&
130132
repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml &&
131133
repo sync -j4 --no-clone-bundle
132-
- name: Setting up $HOME
134+
- name: Build images and run tests
133135
run: |
134-
cp /root/.bashrc $HOME/.bashrc &&
135-
ln -sf /root/.rustup ~/.rustup &&
136-
ln -sf /root/.cargo ~/.cargo
136+
apt update && apt install libslirp-dev -y
137+
cd ~/optee-qemuv8
138+
rm -rf optee_rust/ &&
139+
mv $GITHUB_WORKSPACE/incubator-teaclave-trustzone-sdk optee_rust/
140+
cd build &&
141+
make -j3 toolchains &&
142+
make -j`nproc` RUST_ENABLE=y check
143+
144+
OPTEE-repo-build-and-run-examples-32bit-TAs:
145+
runs-on: ubuntu-latest
146+
container: teaclave/teaclave-trustzone-sdk-build:0.3.0
147+
steps:
148+
- name: Remove /__t/*
149+
run: rm -rf /__t/*
150+
- name: Checkout repository
151+
uses: actions/checkout@v2
152+
with:
153+
submodules: recursive
154+
path: 'incubator-teaclave-trustzone-sdk'
155+
- name: Checkout OP-TEE repository
156+
run: |
157+
mkdir -p ~/bin
158+
curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo && chmod a+x ~/bin/repo
159+
export PATH=~/bin:$PATH
160+
mkdir -p ~/optee-qemuv8 && cd ~/optee-qemuv8 &&
161+
repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml &&
162+
repo sync -j4 --no-clone-bundle
137163
- name: Build images and run tests
138164
run: |
139165
apt update && apt install libslirp-dev -y
140166
cd ~/optee-qemuv8
141167
rm -rf optee_rust/ &&
142168
mv $GITHUB_WORKSPACE/incubator-teaclave-trustzone-sdk optee_rust/
143-
export OPTEE_DIR=$(pwd)
144169
cd build &&
145-
make -j2 toolchains &&
146-
make CFG_TEE_CORE_LOG_LEVEL=0 OPTEE_RUST_ENABLE=y check-rust
170+
make -j3 toolchains &&
171+
make -j`nproc` RUST_ENABLE=y COMPILE_S_USER=32 check
147172
148173
license:
149174
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)