CI: test build dependent packages
authorPaul Spooren <redacted>
Tue, 23 Mar 2021 00:10:36 +0000 (14:10 -1000)
committerPaul Spooren <redacted>
Tue, 23 Mar 2021 17:23:53 +0000 (07:23 -1000)
By using OPKGs `whatdepends` all packages dependent on a library are
printed. Use that feature to obtain packages which a version change may
break and build them as well.

Change "default" packages to contain a lib on which other packages
depend, instead of compiling `tmux` compile `attendedsysupgrade-common`
on which other packages depend.

Ignore any LuCI packages which only contains translations.

Signed-off-by: Paul Spooren <redacted>
.github/workflows/multi-arch-test-build.yml

index 4106f00c85b10170a6d3139701348227d76369df..f7c6da7c410eb5ed030c01767515068a9d35d431 100644 (file)
@@ -77,11 +77,21 @@ jobs:
 
           # fallback to test packages if nothing explicitly changes this is
           # should run if other mechanics in packages.git changed
-          PACKAGES="${PACKAGES:-vim tmux bmon}"
+          PACKAGES="${PACKAGES:-vim attendedsysupgrade-common bmon}"
 
           echo "Building $PACKAGES"
           echo "PACKAGES=$PACKAGES" >> $GITHUB_ENV
 
+      - name: Determine depended packages
+        run: |
+          DEPENDS=$(docker run --rm \
+            "openwrt/imagebuilder:${{ matrix.target }}-$BRANCH" \
+            make whatdepends PACKAGE="$PACKAGES" | grep $'\t' | \
+            grep -v luci-i18n | awk '{ print $1 }' | tr '\n' ' ')
+
+          echo "Building $DEPENDS"
+          echo "PACKAGES=$PACKAGES $DEPENDS" >> $GITHUB_ENV
+
       - name: Build
         uses: openwrt/gh-action-sdk@v1
         env:
git clone https://git.99rst.org/PROJECT