Browse Source

ci: improve wolfSSL test coverage

In order to prevent regressions like #9283, lets add build and runtime
testing of wolfSSL master and release branches into daily scheduled
pipeline.

References: https://github.com/openwrt/openwrt/issues/9283
References: https://github.com/wolfSSL/wolfssl/issues/4879
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar 2 years ago
parent
commit
644d3c7e13
2 changed files with 53 additions and 7 deletions
  1. 11 7
      .gitlab-ci.yml
  2. 42 0
      .gitlab/wolfssl.yml

+ 11 - 7
.gitlab-ci.yml

@@ -4,7 +4,7 @@ variables:
 
 include:
   - remote: https://gitlab.com/ynezz/openwrt-ci/raw/master/openwrt-ci/gitlab/main.yml
-
+  - local: .gitlab/wolfssl.yml
 
 .native ustream-ssl backend:
   extends: .openwrt-native-build
@@ -13,13 +13,22 @@ include:
     - git clone https://git.openwrt.org/project/ustream-ssl.git
     - |
       cd ustream-ssl &&
-      git checkout -b testing origin/$CI_COMMIT_BRANCH &&
+      git log -1 &&
       export VERBOSE=1 &&
       mkdir -p build && cd build &&
       cmake .. -DCMAKE_INSTALL_PREFIX=/usr $CI_CMAKE_EXTRA_BUILD_ARGS && cd .. &&
       make -j$(($(nproc)+1)) -C build &&
       sudo make install -C build && cd ..
 
+    - cd $CI_PROJECT_DIR
+    - rm -fr ustream-ssl
+
+various native checks with ustream-ssl/wolfSSL backend (master branch):
+  extends: .ustream-ssl wolfSSL master
+
+various native checks with ustream-ssl/wolfSSL backend (release branch):
+  extends: .ustream-ssl wolfSSL release
+
 various native checks with ustream-ssl/OpenSSL backend:
   extends: .native ustream-ssl backend
 
@@ -28,11 +37,6 @@ various native checks with ustream-ssl/mbedTLS backend:
   variables:
     CI_CMAKE_EXTRA_BUILD_ARGS: -DMBEDTLS=on
 
-various native checks with ustream-ssl/wolfSSL backend:
-  extends: .native ustream-ssl backend
-  variables:
-    CI_CMAKE_EXTRA_BUILD_ARGS: -DWOLFSSL=on
-
 build with Atheros ATH79 SDK (out of tree):
   extends: .openwrt-sdk-oot-build_ath79-generic
 

+ 42 - 0
.gitlab/wolfssl.yml

@@ -0,0 +1,42 @@
+.ustream-ssl wolfSSL:
+  extends: .openwrt-native-build
+  variables:
+    CI_CMAKE_EXTRA_BUILD_ARGS: -DWOLFSSL=on
+
+  before_script:
+    - git clone -b $CI_WOLFSSL_TEST_BRANCH --depth 1 https://github.com/wolfSSL/wolfssl
+    - |
+      cd wolfssl &&
+      git log -1 &&
+      ./autogen.sh &&
+      ./configure \
+          --enable-sni \
+          --enable-opensslall \
+          --enable-opensslextra \
+          --enable-altcertchains \
+          --prefix=/usr &&
+      make -j$(($(nproc)+1)) all &&
+      sudo make install && cd ..
+
+    - git clone https://git.openwrt.org/project/ustream-ssl.git
+    - |
+      cd ustream-ssl &&
+      git log -1 &&
+      export VERBOSE=1 &&
+      mkdir -p build && cd build &&
+      cmake .. -DCMAKE_INSTALL_PREFIX=/usr $CI_CMAKE_EXTRA_BUILD_ARGS && cd .. &&
+      make -j$(($(nproc)+1)) -C build &&
+      sudo make install -C build
+
+    - cd $CI_PROJECT_DIR
+    - rm -fr wolfssl ustream-ssl
+
+.ustream-ssl wolfSSL master:
+  extends: .ustream-ssl wolfSSL
+  variables:
+    CI_WOLFSSL_TEST_BRANCH: master
+
+.ustream-ssl wolfSSL release:
+  extends: .ustream-ssl wolfSSL
+  variables:
+    CI_WOLFSSL_TEST_BRANCH: release