From 7dd26ee760153caee550661b9fab0d9ad07dfe51 Mon Sep 17 00:00:00 2001 From: Gerard Ryan Date: Sat, 29 Apr 2023 16:25:49 +1000 Subject: [PATCH] cache-domains: added pre-test.sh CI step Some packages variants have conflicting dependencies with the base packages and the CI test will fail to install before anything can be done by the packages to setup the system for install. This change adds a pre-test.sh that runs before the install so things like the default libustream variant can be swapped out as shown in the updated cache-domains. Signed-off-by: Gerard Ryan --- .github/workflows/entrypoint.sh | 18 ++++++++++++++++-- utils/cache-domains/Makefile | 2 +- utils/cache-domains/pre-test.sh | 24 ++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 3 deletions(-) create mode 100755 utils/cache-domains/pre-test.sh diff --git a/.github/workflows/entrypoint.sh b/.github/workflows/entrypoint.sh index 76dd8cbcc9..7587aa8b78 100755 --- a/.github/workflows/entrypoint.sh +++ b/.github/workflows/entrypoint.sh @@ -26,10 +26,24 @@ for PKG in /ci/*.ipk; do echo "Testing package $PKG_NAME in version $PKG_VERSION from $PKG_SOURCE" - opkg install "$PKG" - export PKG_NAME PKG_VERSION CI_HELPER + PRE_TEST_SCRIPT=$(find /ci/ -name "$PKG_SOURCE" -type d)/pre-test.sh + + if [ -f "$PRE_TEST_SCRIPT" ]; then + echo "Use package specific pre-test.sh" + if sh "$PRE_TEST_SCRIPT" "$PKG_NAME" "$PKG_VERSION"; then + echo "Pre-test successful" + else + echo "Pre-test failed" + exit 1 + fi + else + echo "No pre-test.sh script available" + fi + + opkg install "$PKG" + TEST_SCRIPT=$(find /ci/ -name "$PKG_SOURCE" -type d)/test.sh if [ -f "$TEST_SCRIPT" ]; then diff --git a/utils/cache-domains/Makefile b/utils/cache-domains/Makefile index c9e8e2632d..0e12ec32c8 100644 --- a/utils/cache-domains/Makefile +++ b/utils/cache-domains/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=cache-domains PKG_VERSION:=2.3.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MAINTAINER:=Gerard Ryan diff --git a/utils/cache-domains/pre-test.sh b/utils/cache-domains/pre-test.sh new file mode 100755 index 0000000000..0b3e5176bc --- /dev/null +++ b/utils/cache-domains/pre-test.sh @@ -0,0 +1,24 @@ +#! /bin/sh + +set -o errexit + +case "${PKG_NAME}" in + cache-domains-openssl) + LIBUSTREAM_DEPS="libustream-openssl libopenssl3" + LIBUSTREAM_DEPS="${LIBUSTREAM_DEPS} libatomic1" # arm_cortex-a15_neon-vfpv4 extra dep + ;; + cache-domains-mbedtls) + LIBUSTREAM_DEPS="libustream-mbedtls libmbedtls" + ;; + cache-domains-wolfssl) + LIBUSTREAM_DEPS="libustream-wolfssl libwolfssl" + ;; +esac + +# Replace the current libustream with the one PKG_NAME depends on. +# opkg depends on libustream for https so we need to download the +# replacement first and replace it offline. +opkg download ${LIBUSTREAM_DEPS} +opkg remove 'libustream-*' +opkg install --offline-root / ./*.ipk +rm ./*.ipk