cache-domains: added pre-test.sh CI step
authorGerard Ryan <G.M0N3Y.2503@gmail.com>
Sat, 29 Apr 2023 06:25:49 +0000 (16:25 +1000)
committerNick Hainke <vincent@systemli.org>
Mon, 26 Jun 2023 09:29:59 +0000 (11:29 +0200)
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 <G.M0N3Y.2503@gmail.com>
.github/workflows/entrypoint.sh

index 6332011a2e14fdd3e2f1447204a5aba3b4fd4467..a0fdae3f0f5120c5522d0f36be2e79ba3dd6bb7d 100755 (executable)
@@ -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