@@ -37,12 +37,13 @@ jobs:
3737
3838 # need certs so 'wolfSSL error: wolf root not found' does not show up
3939 cp -r "$GITHUB_WORKSPACE/wolfssl/certs" build-dir/certs
40- tar -zcf build-dir.tgz build-dir
4140
4241 # need the ech script to run tests
4342 cp "$GITHUB_WORKSPACE/wolfssl/.github/scripts/openssl-ech.sh" \
4443 build-dir/openssl-ech.sh
4544
45+ tar -zcf build-dir.tgz build-dir
46+
4647 - name : Upload built wolfSSL
4748 uses : actions/upload-artifact@v4
4849 with :
8283 path : openssl-install.tgz
8384 retention-days : 5
8485
85- ech_server_interop_test :
86- name : ECH Server Interop Test
86+ ech_interop_test :
87+ name : ECH Interop Test
8788 if : github.repository_owner == 'wolfssl'
8889 needs : [build_wolfssl, build_openssl_ech]
8990 runs-on : ubuntu-24.04
@@ -104,27 +105,32 @@ jobs:
104105 tar -xzf build-dir.tgz
105106 tar -xzf openssl-install.tgz
106107
107- - name : Build wolfssl server example
108+ - name : Build wolfssl client and server examples
108109 run : |
109110 export WOLFSSL_INSTALL_DIR="$GITHUB_WORKSPACE/build-dir"
110111 export WOLFSSL_BIN_DIR="$WOLFSSL_INSTALL_DIR/bin"
111112 export CFLAGS="-Wall -I$WOLFSSL_INSTALL_DIR/include"
112113 export LIBS="-L$WOLFSSL_INSTALL_DIR/lib -lm -lwolfssl"
113114 export LD_LIBRARY_PATH="$WOLFSSL_INSTALL_DIR/lib/:$LD_LIBRARY_PATH"
114115
116+ gcc -o "$WOLFSSL_BIN_DIR/client" \
117+ "$WOLFSSL_INSTALL_DIR/share/doc/wolfssl/example/client.c" \
118+ $CFLAGS $LIBS -I"$WOLFSSL_INSTALL_DIR/share/doc/wolfssl/example"
119+
115120 gcc -o "$WOLFSSL_BIN_DIR/server" \
116121 "$WOLFSSL_INSTALL_DIR/share/doc/wolfssl/example/server.c" \
117122 $CFLAGS $LIBS -I"$WOLFSSL_INSTALL_DIR/share/doc/wolfssl/example"
118123
119- - name : ECH interop - wolfSSL server, OpenSSL client
124+ - name : Interop test
120125 run : |
121126 set -e
122127
123128 export LD_LIBRARY_PATH="$GITHUB_WORKSPACE/openssl-install/lib64:$GITHUB_WORKSPACE/openssl-install/lib:$GITHUB_WORKSPACE/build-dir/lib:$LD_LIBRARY_PATH"
124129
125- OPENSSL="$GITHUB_WORKSPACE/openssl-install/bin/openssl"
126- WOLFSSL_SERVER="$GITHUB_WORKSPACE/build-dir/bin/server"
127- CERT_DIR="$GITHUB_WORKSPACE/build-dir/certs"
130+ export OPENSSL="$GITHUB_WORKSPACE/openssl-install/bin/openssl"
131+ export WOLFSSL_CLIENT="$GITHUB_WORKSPACE/build-dir/bin/client"
132+ export WOLFSSL_SERVER="$GITHUB_WORKSPACE/build-dir/bin/server"
133+ export CERT_DIR="$GITHUB_WORKSPACE/build-dir/certs"
128134 LOG_FILE="$GITHUB_WORKSPACE/log_file.log"
129135
130136 # need to cd into build-dir so the certs/ dir is available for server
@@ -133,78 +139,18 @@ jobs:
133139 $OPENSSL version | tee "$LOG_FILE"
134140
135141 # default suite (DHKEM_X25519_HKDF_SHA256, HKDF_SHA256, HPKE_AES_128_GCM)
142+ echo -e "\nTesting default suite with OpenSSL server and wolfSSL client\n" &>> "$LOG_FILE"
143+ bash ./openssl-ech.sh server &>> "$LOG_FILE"
144+
145+ echo -e "\nTesting default suite with OpenSSL client and wolfSSL server\n" &>> "$LOG_FILE"
136146 bash ./openssl-ech.sh client &>> "$LOG_FILE"
137147
138148 # weird suite (DHKEM_P521_HKDF_SHA512, HKDF_SHA256, HPKE_AES_256_GCM)
139- bash ./openssl-ech.sh client --suite "18,3,2" &>> "$LOG_FILE"
140-
141- # cleanup
142- rm -f "$LOG_FILE"
143-
144- - name : Print debug info on failure
145- if : ${{ failure() }}
146- run : |
147- if [ -s "$GITHUB_WORKSPACE/log_file.log" ]; then
148- cat "$GITHUB_WORKSPACE/log_file.log"
149- else
150- echo "No log file"
151- fi
149+ echo -e "\nTesting weird suite with OpenSSL server and wolfSSL client\n" &>> "$LOG_FILE"
150+ bash ./openssl-ech.sh server --suite "18,1,2" &>> "$LOG_FILE"
152151
153- ech_client_interop_test :
154- name : ECH Client Interop Test
155- if : github.repository_owner == 'wolfssl'
156- needs : [build_wolfssl, build_openssl_ech]
157- runs-on : ubuntu-24.04
158- timeout-minutes : 10
159- steps :
160- - name : Download wolfSSL build
161- uses : actions/download-artifact@v4
162- with :
163- name : wolf-install-openssl-ech
164-
165- - name : Download OpenSSL build
166- uses : actions/download-artifact@v4
167- with :
168- name : openssl-ech-install
169-
170- - name : Extract builds
171- run : |
172- tar -xzf build-dir.tgz
173- tar -xzf openssl-install.tgz
174-
175- - name : Build wolfssl client example
176- run : |
177- export WOLFSSL_INSTALL_DIR="$GITHUB_WORKSPACE/build-dir"
178- export WOLFSSL_BIN_DIR="$WOLFSSL_INSTALL_DIR/bin"
179- export CFLAGS="-Wall -I$WOLFSSL_INSTALL_DIR/include"
180- export LIBS="-L$WOLFSSL_INSTALL_DIR/lib -lm -lwolfssl"
181- export LD_LIBRARY_PATH="$WOLFSSL_INSTALL_DIR/lib/:$LD_LIBRARY_PATH"
182-
183- gcc -o "$WOLFSSL_BIN_DIR/client" \
184- "$WOLFSSL_INSTALL_DIR/share/doc/wolfssl/example/client.c" \
185- $CFLAGS $LIBS -I"$WOLFSSL_INSTALL_DIR/share/doc/wolfssl/example"
186-
187- - name : ECH interop - wolfSSL client, OpenSSL server
188- run : |
189- set -e
190-
191- export LD_LIBRARY_PATH="$GITHUB_WORKSPACE/openssl-install/lib64:$GITHUB_WORKSPACE/openssl-install/lib:$GITHUB_WORKSPACE/build-dir/lib:$LD_LIBRARY_PATH"
192-
193- OPENSSL="$GITHUB_WORKSPACE/openssl-install/bin/openssl"
194- WOLFSSL_CLIENT="$GITHUB_WORKSPACE/build-dir/bin/client"
195- CERT_DIR="$GITHUB_WORKSPACE/build-dir/certs"
196- LOG_FILE="$GITHUB_WORKSPACE/log_file.log"
197-
198- # need to cd into build-dir so the certs/ dir is available for client
199- cd build-dir
200-
201- $OPENSSL version | tee "$LOG_FILE"
202-
203- # default suite (DHKEM_X25519_HKDF_SHA256, HKDF_SHA256, HPKE_AES_128_GCM)
204- bash ./openssl-ech.sh server &>> "$LOG_FILE"
205-
206- # weird suite (DHKEM_P521_HKDF_SHA512, HKDF_SHA256, HPKE_AES_256_GCM)
207- bash ./openssl-ech.sh server --suite "18,3,2" &>> "$LOG_FILE"
152+ echo -e "\nTesting weird suite with OpenSSL client and wolfSSL server\n" &>> "$LOG_FILE"
153+ bash ./openssl-ech.sh client --suite "18,1,2" &>> "$LOG_FILE"
208154
209155 # cleanup
210156 rm -f "$LOG_FILE"
0 commit comments