CI: fix handling of release branches
authorPaul Spooren <mail@aparcar.org>
Mon, 1 Mar 2021 21:06:22 +0000 (11:06 -1000)
committerPaul Spooren <mail@aparcar.org>
Mon, 1 Mar 2021 21:41:18 +0000 (11:41 -1000)
The "changed package" logic triggers all packages changed since
`origin/master` while for releases branches all changes since e.g.
`origin/openwrt-21.02` should be considered.

First figure out the active branch, then find changed packages.

Signed-off-by: Paul Spooren <mail@aparcar.org>
.github/workflows/multi-arch-test-build.yml

index 249efff33bdbdb5192e6a3a227599fe236e1d50a..cbd9663f8b8fe389acd23e3968fdfb8044514a39 100644 (file)
@@ -32,11 +32,17 @@ jobs:
         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/master)
+          CHANGES=$(git diff --diff-filter=d --name-only origin/$BRANCH)
 
           for ROOT in $PKG_ROOTS; do
             for CHANGE in $CHANGES; do
@@ -54,12 +60,6 @@ jobs:
           echo "Building $PACKAGES"
           echo "PACKAGES=$PACKAGES" >> $GITHUB_ENV
 
-      - name: Determine branch name
-        run: |
-          BRANCH="${GITHUB_BASE_REF#refs/heads/}"
-          echo "Building for $BRANCH"
-          echo "BRANCH=$BRANCH" >> $GITHUB_ENV
-
       - name: Build
         uses: openwrt/gh-action-sdk@v1
         env: