From 299ee2b1cfd20a7c9d31e8024b4333e8da035af3 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Wed, 10 May 2023 14:10:37 +0800 Subject: [PATCH] CI: Do package run-tests only if target packages were built Currently, the package run-test phase will fail for PRs that only add/update host-only packages, as no target packages (*.ipk) are built. This checks if any target packages are built before attempting the run-tests. Signed-off-by: Jeffery To --- .github/workflows/multi-arch-test-build.yml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/multi-arch-test-build.yml b/.github/workflows/multi-arch-test-build.yml index 25af766..3aabab4 100644 --- a/.github/workflows/multi-arch-test-build.yml +++ b/.github/workflows/multi-arch-test-build.yml @@ -118,21 +118,32 @@ jobs: - name: Remove logs run: sudo rm -rf logs/ || true + - name: Check if any packages were built + run: | + if [ -n "$(find . -maxdepth 1 -type f -name '*.ipk' -print -quit)" ]; then + echo "Found *.ipk files" + HAVE_IPKS=true + else + echo "No *.ipk files found" + HAVE_IPKS=false + fi + echo "HAVE_IPKS=$HAVE_IPKS" >> $GITHUB_ENV + - name: Register QEMU - if: ${{ matrix.runtime_test }} + if: ${{ matrix.runtime_test && fromJSON(env.HAVE_IPKS) }} run: | sudo apt-get update sudo apt-get install -y qemu-user-static binfmt-support sudo update-binfmts --import - name: Build Docker container - if: ${{ matrix.runtime_test }} + if: ${{ matrix.runtime_test && fromJSON(env.HAVE_IPKS) }} run: | docker build -t test-container --build-arg ARCH .github/workflows/ env: ARCH: ${{ matrix.arch }}-${{ env.BRANCH }} - name: Test via Docker container - if: ${{ matrix.runtime_test }} + if: ${{ matrix.runtime_test && fromJSON(env.HAVE_IPKS) }} run: | docker run --rm -v $GITHUB_WORKSPACE:/ci test-container -- 2.30.2