From: Christian Marangi Date: Fri, 8 Nov 2024 18:34:29 +0000 (+0100) Subject: CI: multi-arch-test-build: move to shared workflow X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;ds=inline;p=feed%2Fvideo.git CI: multi-arch-test-build: move to shared workflow Move multi-arch-test-build to shared workflow. Signed-off-by: Christian Marangi --- diff --git a/.github/workflows/Dockerfile b/.github/workflows/Dockerfile deleted file mode 100644 index fbd17fc..0000000 --- a/.github/workflows/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -ARG ARCH=x86-64 -FROM openwrt/rootfs:$ARCH - -ADD entrypoint.sh /entrypoint.sh - -CMD ["/entrypoint.sh"] diff --git a/.github/workflows/entrypoint.sh b/.github/workflows/entrypoint.sh deleted file mode 100755 index 7604105..0000000 --- a/.github/workflows/entrypoint.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -mkdir -p /var/lock/ - -opkg update - -[ -n "$CI_HELPER" ] || CI_HELPER="/ci/.github/workflows/ci_helpers.sh" - -for PKG in /ci/*.ipk; do - tar -xzOf "$PKG" ./control.tar.gz | tar xzf - ./control - # package name including variant - PKG_NAME=$(sed -ne 's#^Package: \(.*\)$#\1#p' ./control) - # package version without release - PKG_VERSION=$(sed -ne 's#^Version: \(.*\)-[0-9]*$#\1#p' ./control) - # package source contianing test.sh script - PKG_SOURCE=$(sed -ne 's#^Source: .*/\(.*\)$#\1#p' ./control) - - echo "Testing package $PKG_NAME in version $PKG_VERSION from $PKG_SOURCE" - - opkg install "$PKG" - - export PKG_NAME PKG_VERSION CI_HELPER - - TEST_SCRIPT=$(find /ci/ -name "$PKG_SOURCE" -type d)/test.sh - - if [ -f "$TEST_SCRIPT" ]; then - echo "Use package specific test.sh" - if sh "$TEST_SCRIPT" "$PKG_NAME" "$PKG_VERSION"; then - echo "Test successful" - else - echo "Test failed" - exit 1 - fi - else - echo "No test.sh script available" - fi - - opkg remove "$PKG_NAME" --force-removal-of-dependent-packages --force-remove -done diff --git a/.github/workflows/multi-arch-test-build.yml b/.github/workflows/multi-arch-test-build.yml index a10be99..e5ac78c 100644 --- a/.github/workflows/multi-arch-test-build.yml +++ b/.github/workflows/multi-arch-test-build.yml @@ -1,124 +1,9 @@ -name: Test Build +name: Feeds Package Test Build on: pull_request: jobs: build: - name: Test ${{ matrix.arch }} - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - include: - - arch: arc_archs - target: archs38-generic - runtime_test: false - - - arch: arm_cortex-a9_vfpv3-d16 - target: mvebu-cortexa9 - runtime_test: false - - - arch: mips_24kc - target: ath79-generic - runtime_test: false - - - arch: powerpc_464fp - target: apm821xx-nand - runtime_test: false - - - arch: powerpc_8540 - target: mpc85xx-p1010 - runtime_test: false - - - arch: aarch64_cortex-a53 - target: mvebu-cortexa53 - runtime_test: true - - - arch: arm_cortex-a15_neon-vfpv4 - target: armvirt-32 - runtime_test: true - - - arch: i386_pentium-mmx - target: x86-geode - runtime_test: true - - - arch: x86_64 - target: x86-64 - runtime_test: true - - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Determine branch name - run: | - BRANCH="${GITHUB_BASE_REF#refs/heads/}" - echo "Building for $BRANCH" - echo "BRANCH=$BRANCH" >> $GITHUB_ENV - - - name: Determine changed packages - run: | - # only detect packages with changes - PKG_ROOTS=$(find . -name Makefile | \ - grep -v ".*/src/Makefile" | \ - sed -e 's@./\(.*\)/Makefile@\1/@') - CHANGES=$(git diff --diff-filter=d --name-only origin/$BRANCH) - - for ROOT in $PKG_ROOTS; do - for CHANGE in $CHANGES; do - if [[ "$CHANGE" == "$ROOT"* ]]; then - PACKAGES+=$(echo "$ROOT" | sed -e 's@.*/\(.*\)/@\1 @') - break - fi - done - done - - # fallback to test packages if nothing explicitly changes this is - # should run if other mechanics in packages.git changed - PACKAGES="${PACKAGES:-vim attendedsysupgrade-common bmon}" - - echo "Building $PACKAGES" - echo "PACKAGES=$PACKAGES" >> $GITHUB_ENV - - - name: Build - uses: openwrt/gh-action-sdk@v1 - env: - ARCH: ${{ matrix.arch }}-${{ env.BRANCH }} - FEEDNAME: packages_ci - - - name: Move created packages to project dir - run: cp bin/packages/${{ matrix.arch }}/packages_ci/*.ipk . || true - - - name: Store packages - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.arch}}-packages - path: "*.ipk" - - - name: Store logs - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.arch}}-logs - path: logs/ - - - name: Remove logs - run: sudo rm -rf logs/ || true - - - name: Register QEMU - if: ${{ matrix.runtime_test }} - run: | - sudo docker run --rm --privileged aptman/qus -s -- -p - - - name: Build Docker container - if: ${{ matrix.runtime_test }} - run: | - docker build -t test-container --build-arg ARCH .github/workflows/ - env: - ARCH: ${{ matrix.arch }} - - - name: Test via Docker container - if: ${{ matrix.runtime_test }} - run: | - docker run --rm -v $GITHUB_WORKSPACE:/ci test-container + name: Feeds Package Test Build + uses: openwrt/actions-shared-workflows/.github/workflows/multi-arch-test-build.yml@main