[openwrt/openwrt] CI: introduce target toolchain test

LEDE Commits lede-commits at lists.infradead.org
Fri Dec 16 07:29:40 PST 2022


ansuel pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/1b8c8864c5e27c5abeaa87bd7cfc24cd468bc71b

commit 1b8c8864c5e27c5abeaa87bd7cfc24cd468bc71b
Author: Christian Marangi <ansuelsmth at gmail.com>
AuthorDate: Wed Dec 7 00:52:41 2022 +0100

    CI: introduce target toolchain test
    
    Add test to build test toolchain for each target.
    
    Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
---
 .github/workflows/toolchain.yml | 64 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/.github/workflows/toolchain.yml b/.github/workflows/toolchain.yml
new file mode 100644
index 0000000000..d6abab4dec
--- /dev/null
+++ b/.github/workflows/toolchain.yml
@@ -0,0 +1,64 @@
+name: Build Toolchains
+
+on:
+  pull_request:
+    paths:
+      - '.github/workflows/build.yml'
+      - '.github/workflows/toolchain.yml'
+      - 'toolchain/**'
+  push:
+    paths:
+      - '.github/workflows/build.yml'
+      - '.github/workflows/toolchain.yml'
+      - 'toolchain/**'
+
+permissions:
+  contents: read
+
+jobs:
+  determine_targets:
+    name: Set targets
+    runs-on: ubuntu-latest
+    outputs:
+      target: ${{ steps.find_targets.outputs.target }}
+
+    steps:
+      - name: Checkout
+        uses: actions/checkout at v3
+
+      - name: Set targets
+        id: find_targets
+        run: |
+          export TARGETS="$(perl ./scripts/dump-target-info.pl targets 2>/dev/null \
+            | sort -u -t '/' -k1,1 \
+            | awk '{ print $1 }')"
+
+          JSON='['
+          FIRST=1
+          for TARGET in $TARGETS; do
+            [[ $FIRST -ne 1 ]] && JSON="$JSON"','
+            JSON="$JSON"'"'"${TARGET}"'"'
+            FIRST=0
+          done
+          JSON="$JSON"']'
+
+           echo -e "\n---- targets ----\n"
+           echo "$JSON"
+           echo -e "\n---- targets ----\n"
+
+           echo "target=$JSON" >> $GITHUB_OUTPUT
+
+  build:
+    name: Build Target Toolchain
+    needs: determine_targets
+    permissions:
+      contents: read
+      packages: read
+    strategy:
+       fail-fast: False
+       matrix:
+         target: ${{fromJson(needs.determine_targets.outputs.target)}}
+    uses: ./.github/workflows/build.yml
+    with:
+      target: ${{ matrix.target }}
+      build_toolchain: true




More information about the lede-commits mailing list