Merge pull request #807 from micmac1/ci-up
authormicmac1 <sebastian_ml@gmx.net>
Wed, 29 Mar 2023 18:18:27 +0000 (20:18 +0200)
committerGitHub <noreply@github.com>
Wed, 29 Mar 2023 18:18:27 +0000 (20:18 +0200)
CI: sync up with changes in packages repo

.github/workflows/check-autorelease-deprecation.yml [new file with mode: 0644]
.github/workflows/entrypoint.sh
.github/workflows/formal.yml
.github/workflows/multi-arch-test-build.yml

diff --git a/.github/workflows/check-autorelease-deprecation.yml b/.github/workflows/check-autorelease-deprecation.yml
new file mode 100644 (file)
index 0000000..b85b324
--- /dev/null
@@ -0,0 +1,91 @@
+name: Check autorelease deprecation
+
+on:
+  pull_request_target:
+    types: [opened, synchronize, converted_to_draft, ready_for_review, edited]
+
+jobs:
+  build:
+    name: Check autorelease deprecation
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+
+    permissions:
+      pull-requests: write
+
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          ref: ${{ github.event.pull_request.head.sha }}
+          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: |
+          RET=0
+
+          # 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
+                if grep -q '$(AUTORELEASE)' "$ROOT/Makefile"; then
+                  CONTAINS_AUTORELEASE+="$ROOT"
+                fi
+                break
+              fi
+            done
+          done
+
+          if [ -n "$CONTAINS_AUTORELEASE" ]; then
+            RET=1
+            cat > "$GITHUB_WORKSPACE/pr_comment.md" << EOF
+          Please do no longer set *PKG_RELEASE* to *AUTORELEASE* as the
+          feature is deprecated. Please use an integer instead. Below is a
+          list of affected packages including correct *PKG_RELEASE*:
+
+          EOF
+          fi
+
+          for ROOT in $CONTAINS_AUTORELEASE; do
+            echo -n "  - ${ROOT}Makefile: PKG_RELEASE:=" >> "$GITHUB_WORKSPACE/pr_comment.md"
+            last_bump="$(git log --pretty=format:'%h %s' "$ROOT" |
+              grep --max-count=1 -e ': [uU]pdate to ' -e ': [bB]ump to ' |
+              cut -f 1 -d ' ')"
+
+            if [ -n "$last_bump" ]; then
+              echo -n $(($(git rev-list --count "$last_bump..HEAD" "$ROOT") + 2)) >> "$GITHUB_WORKSPACE/pr_comment.md"
+            else
+              echo -n $(($(git rev-list --count HEAD "$ROOT") + 2)) >> "$GITHUB_WORKSPACE/pr_comment.md"
+            fi
+            echo >> "$GITHUB_WORKSPACE/pr_comment.md"
+          done
+
+          exit $RET
+
+      - name: Find Comment
+        uses: peter-evans/find-comment@v2
+        if: ${{ failure() }}
+        id: fc
+        with:
+          issue-number: ${{ github.event.pull_request.number }}
+          comment-author: 'github-actions[bot]'
+
+      - name: Create or update comment
+        uses: peter-evans/create-or-update-comment@v2
+        if: ${{ failure() }}
+        with:
+          comment-id: ${{ steps.fc.outputs.comment-id }}
+          issue-number: ${{ github.event.pull_request.number }}
+          body-file: 'pr_comment.md'
+          edit-mode: replace
index 76041054736c8ed1ab14fe5781622681d3a8730b..6af84b8e7ee6d30dd1bb017fe9d8d9ccd5f960e9 100755 (executable)
@@ -1,10 +1,14 @@
 #!/bin/sh
 
+# not enabling `errtrace` and `pipefail` since those are bash specific
+set -o errexit # failing commands causes script to fail
+set -o nounset # undefined variables causes script to fail 
+
 mkdir -p /var/lock/
 
 opkg update
 
-[ -n "$CI_HELPER" ] || CI_HELPER="/ci/.github/workflows/ci_helpers.sh"
+[ -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 
index 25609174e8ae6f9dee01640924d2ae26be440d83..b3f824c524c4d3e619c7634f8d62cfd1a071edcc 100644 (file)
@@ -11,7 +11,7 @@ jobs:
       fail-fast: false
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
         with:
           ref: ${{ github.event.pull_request.head.sha }}
           fetch-depth: 0
index f8a907b153f32278bd679c66930afaddea91980f..514c276f219f61f0ffdcc3e783b43fe441a3c241 100644 (file)
@@ -11,10 +11,6 @@ jobs:
       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
@@ -31,7 +27,7 @@ jobs:
             target: apm821xx-nand
             runtime_test: false
 
-          - arch: powerpc_8540
+          - arch: powerpc_8548
             target: mpc85xx-p1010
             runtime_test: false
 
@@ -52,7 +48,7 @@ jobs:
             runtime_test: true
 
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
         with:
           fetch-depth: 0
 
@@ -132,7 +128,7 @@ jobs:
           cat PKG-INFO
 
       - name: Store packages
-        uses: actions/upload-artifact@v2
+        uses: actions/upload-artifact@v3
         with:
           name: ${{env.ARCHIVE_NAME}}-packages
           path: |
@@ -140,7 +136,7 @@ jobs:
             PKG-INFO
 
       - name: Store logs
-        uses: actions/upload-artifact@v2
+        uses: actions/upload-artifact@v3
         with:
           name: ${{env.ARCHIVE_NAME}}-logs
           path: |