name: Test Build on: pull_request: jobs: build: name: Test ${{ matrix.arch }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - arch: x86_64 target: x86-64 steps: - uses: actions/checkout@v3 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:-luci-app-attendedsysupgrade}" echo "Building $PACKAGES" echo "PACKAGES=$PACKAGES" >> $GITHUB_ENV - name: Build uses: openwrt/gh-action-sdk@v5 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@v3 with: name: ${{ matrix.arch}}-packages path: "*.ipk" - name: Store logs uses: actions/upload-artifact@v3 with: name: ${{ matrix.arch}}-logs path: logs/