summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorChristian Marangi <ansuelsmth@gmail.com>2022-12-07 00:52:41 +0100
committerChristian Marangi <ansuelsmth@gmail.com>2022-12-16 16:29:37 +0100
commit1b8c8864c5e27c5abeaa87bd7cfc24cd468bc71b (patch)
tree4f71ea9da8675e594651dbfeb9a699adf428f848 /.github/workflows
parentdcdb0b064a5165ef1958a121228da2e02df3e576 (diff)
downloadopenwrt-1b8c8864c5e27c5abeaa87bd7cfc24cd468bc71b.tar.gz
CI: introduce target toolchain test
Add test to build test toolchain for each target. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/toolchain.yml64
1 files changed, 64 insertions, 0 deletions
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@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