summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormicmac1 <sebastian_ml@gmx.net>2023-03-29 20:18:27 +0200
committerGitHub <noreply@github.com>2023-03-29 20:18:27 +0200
commit39ca113f84f45dc366df5b4b98c116309bfbf92b (patch)
tree35a826fef9ebbe210d814bc71476030e3e6e9ae9
parent2a81709fd9a2cc3bb4f27276348cc1e6e842a96e (diff)
parenta4b6dfaffbb2a486403576d9f16c38b1f56b911e (diff)
Merge pull request #807 from micmac1/ci-up
CI: sync up with changes in packages repo
-rw-r--r--.github/workflows/check-autorelease-deprecation.yml91
-rwxr-xr-x.github/workflows/entrypoint.sh6
-rw-r--r--.github/workflows/formal.yml2
-rw-r--r--.github/workflows/multi-arch-test-build.yml12
4 files changed, 101 insertions, 10 deletions
diff --git a/.github/workflows/check-autorelease-deprecation.yml b/.github/workflows/check-autorelease-deprecation.yml
new file mode 100644
index 0000000..b85b324
--- /dev/null
+++ b/.github/workflows/check-autorelease-deprecation.yml
@@ -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
diff --git a/.github/workflows/entrypoint.sh b/.github/workflows/entrypoint.sh
index 7604105..6af84b8 100755
--- a/.github/workflows/entrypoint.sh
+++ b/.github/workflows/entrypoint.sh
@@ -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
diff --git a/.github/workflows/formal.yml b/.github/workflows/formal.yml
index 2560917..b3f824c 100644
--- a/.github/workflows/formal.yml
+++ b/.github/workflows/formal.yml
@@ -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
diff --git a/.github/workflows/multi-arch-test-build.yml b/.github/workflows/multi-arch-test-build.yml
index f8a907b..514c276 100644
--- a/.github/workflows/multi-arch-test-build.yml
+++ b/.github/workflows/multi-arch-test-build.yml
@@ -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: |