From c9b66b35bcc4c2a01eeabad6a415de9fa87d36e2 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Wed, 2 Nov 2022 22:56:33 +0100 Subject: [PATCH] CI: Build all targets on changes This builds the target in case anything changes in target specific code. This will build all subtargets and activate all boards. This also builds the testing kernel if it is available. If there is no external toolchain the toolchain will be build in the target build process. All the .github/workflows/target-*.yml files are automatically generated. Building all targets takes multiple hours even with 20 builders, this only triggers a target build in case something changed for this specific target. An own workflow file is added for each target which triggers on pull requests and also earlier when some changes are pushed to a branch on github. The labeler is not working on branch pushes. This should help detect build problems when new boards are added or when some changes are done to a target. Signed-off-by: Hauke Mehrtens --- .../workflows/scripts/create-target-files.py | 214 ++++++++++++++++++ .github/workflows/target-airoha.yml | 49 ++++ .github/workflows/target-apm821xx.yml | 48 ++++ .github/workflows/target-archs38.yml | 48 ++++ .github/workflows/target-armvirt.yml | 48 ++++ .github/workflows/target-at91.yml | 52 +++++ .github/workflows/target-ath25.yml | 48 ++++ .github/workflows/target-ath79.yml | 48 ++++ .github/workflows/target-bcm27xx.yml | 50 ++++ .github/workflows/target-bcm47xx.yml | 48 ++++ .github/workflows/target-bcm4908.yml | 50 ++++ .github/workflows/target-bcm53xx.yml | 48 ++++ .github/workflows/target-bcm63xx.yml | 52 +++++ .github/workflows/target-bmips.yml | 49 ++++ .github/workflows/target-gemini.yml | 48 ++++ .github/workflows/target-imx.yml | 52 +++++ .github/workflows/target-ipq40xx.yml | 48 ++++ .github/workflows/target-ipq806x.yml | 48 ++++ .github/workflows/target-ipq807x.yml | 48 ++++ .github/workflows/target-kirkwood.yml | 50 ++++ .github/workflows/target-lantiq.yml | 72 ++++++ .github/workflows/target-layerscape.yml | 56 +++++ .github/workflows/target-malta.yml | 66 ++++++ .github/workflows/target-mediatek.yml | 52 +++++ .github/workflows/target-mpc85xx.yml | 48 ++++ .github/workflows/target-mvebu.yml | 52 +++++ .github/workflows/target-mxs.yml | 50 ++++ .github/workflows/target-octeon.yml | 48 ++++ .github/workflows/target-octeontx.yml | 48 ++++ .github/workflows/target-omap.yml | 50 ++++ .github/workflows/target-oxnas.yml | 68 ++++++ .github/workflows/target-pistachio.yml | 48 ++++ .github/workflows/target-qoriq.yml | 49 ++++ .github/workflows/target-ramips.yml | 48 ++++ .github/workflows/target-realtek.yml | 48 ++++ .github/workflows/target-rockchip.yml | 52 +++++ .github/workflows/target-sunxi.yml | 52 +++++ .github/workflows/target-tegra.yml | 50 ++++ .github/workflows/target-uml.yml | 49 ++++ .github/workflows/target-x86.yml | 48 ++++ .github/workflows/target-zynq.yml | 50 ++++ 41 files changed, 2250 insertions(+) create mode 100644 .github/workflows/scripts/create-target-files.py create mode 100644 .github/workflows/target-airoha.yml create mode 100644 .github/workflows/target-apm821xx.yml create mode 100644 .github/workflows/target-archs38.yml create mode 100644 .github/workflows/target-armvirt.yml create mode 100644 .github/workflows/target-at91.yml create mode 100644 .github/workflows/target-ath25.yml create mode 100644 .github/workflows/target-ath79.yml create mode 100644 .github/workflows/target-bcm27xx.yml create mode 100644 .github/workflows/target-bcm47xx.yml create mode 100644 .github/workflows/target-bcm4908.yml create mode 100644 .github/workflows/target-bcm53xx.yml create mode 100644 .github/workflows/target-bcm63xx.yml create mode 100644 .github/workflows/target-bmips.yml create mode 100644 .github/workflows/target-gemini.yml create mode 100644 .github/workflows/target-imx.yml create mode 100644 .github/workflows/target-ipq40xx.yml create mode 100644 .github/workflows/target-ipq806x.yml create mode 100644 .github/workflows/target-ipq807x.yml create mode 100644 .github/workflows/target-kirkwood.yml create mode 100644 .github/workflows/target-lantiq.yml create mode 100644 .github/workflows/target-layerscape.yml create mode 100644 .github/workflows/target-malta.yml create mode 100644 .github/workflows/target-mediatek.yml create mode 100644 .github/workflows/target-mpc85xx.yml create mode 100644 .github/workflows/target-mvebu.yml create mode 100644 .github/workflows/target-mxs.yml create mode 100644 .github/workflows/target-octeon.yml create mode 100644 .github/workflows/target-octeontx.yml create mode 100644 .github/workflows/target-omap.yml create mode 100644 .github/workflows/target-oxnas.yml create mode 100644 .github/workflows/target-pistachio.yml create mode 100644 .github/workflows/target-qoriq.yml create mode 100644 .github/workflows/target-ramips.yml create mode 100644 .github/workflows/target-realtek.yml create mode 100644 .github/workflows/target-rockchip.yml create mode 100644 .github/workflows/target-sunxi.yml create mode 100644 .github/workflows/target-tegra.yml create mode 100644 .github/workflows/target-uml.yml create mode 100644 .github/workflows/target-x86.yml create mode 100644 .github/workflows/target-zynq.yml diff --git a/.github/workflows/scripts/create-target-files.py b/.github/workflows/scripts/create-target-files.py new file mode 100644 index 00000000000..88f855d7997 --- /dev/null +++ b/.github/workflows/scripts/create-target-files.py @@ -0,0 +1,214 @@ +#!/usr/bin/env python3 + +import os +import re +import sys +import requests +from string import Template + +# This script well generate the .github/workflows/target-*.yml files and will help to keep them up to date. +# Execute this script from the OpenWrt root directory. + +template_toolchain_ext = """ + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [${subtarget}] + testing: [${testing}] + uses: ./.github/workflows/build.yml + with: + target: "${target}/$${{ matrix.subtarget }}" + testing: $${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true +""" + +template_toolchain_int = """ + build_int: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [${subtarget}] + testing: [${testing}] + uses: ./.github/workflows/build.yml + with: + target: "${target}/$${{ matrix.subtarget }}" + testing: $${{ matrix.testing }} + build_toolchain: true + build_kernel: true + build_full: true + build_all_boards: true +""" + +template = """name: Build ${target} target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: +${paths} + push: + paths: +${paths} + +permissions: + contents: read + +jobs:${build_ext}${build_int} + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [${subtarget_first}] + testing: [${testing}] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "${target}/$${{ matrix.subtarget }}" + testing: $${{ matrix.testing }} +""" + + +def subtarget_str(template, subtargets, mappings): + """Return the filled template with the call to the build.yml file.""" + if len(subtargets) == 0: + return "" + + subtarget_str = "generic" + if len(subtargets) >= 1: + subtarget_str = subtargets[0] + for subtarget in subtargets[1:]: + subtarget_str += ", " + subtarget_str += subtarget + mappings["subtarget"] = subtarget_str + return Template(template).substitute(mappings) + + +def find_path_in(target, base_path, search_path): + """Find extra folder names with the target name in it in the given search_path""" + paths = "" + for file in os.listdir(os.path.join(base_path, search_path)): + file_path = os.path.join(base_path, search_path, file) + if target in file: + if os.path.isdir(file_path): + paths += f" - '{search_path}/{file}/**'\n" + else: + paths += f" - '{search_path}/{file}'\n" + return paths + + +def get_paths(target, base_path): + """Return the paths the github workflow should trigger on.""" + paths = f" - '.github/workflows/target-{target}.yml'\n" + paths += f" - 'target/linux/{target}/**'\n" + paths += find_path_in(target, base_path, os.path.join("package", "kernel")) + paths += find_path_in(target, base_path, os.path.join("package", "firmware")) + paths += find_path_in(target, base_path, os.path.join("package", "boot")) + paths += find_path_in( + target, base_path, os.path.join("package", "network", "utils") + ) + return paths + + +def is_ext_toolchain(target, subtarget): + toolchain_hash = requests.get( + f"https://downloads.cdn.openwrt.org/snapshots/targets/{ target }/{ subtarget }/sha256sums" + ) + return toolchain_hash.ok and "toolchain" in toolchain_hash.text + + +def is_testing_kernel_set(target_path): + with open(os.path.join(target_path, "Makefile")) as f: + kernel_patchver = "" + kernel_testing_patchver = "" + for line in f: + m = re.match(r"KERNEL_PATCHVER:=([0-9\.]*)", line) + if m: + kernel_patchver = m.group(1) + m = re.match(r"KERNEL_TESTING_PATCHVER:=([0-9\.]*)", line) + if m: + kernel_testing_patchver = m.group(1) + return ( + kernel_patchver + and kernel_testing_patchver + and kernel_patchver != kernel_testing_patchver + ) + + +base_path = os.getcwd() +if ".github" not in os.listdir(base_path) or "target" not in os.listdir(base_path): + print("Please execute this script from OpenWrt root folder") + sys.exit(-1) + +target_folder = os.path.join(base_path, "target", "linux") + +for target in os.listdir(target_folder): + target_path = os.path.join(target_folder, target) + if not os.path.isdir(target_path): + continue + if not os.path.exists(os.path.join(target_path, "Makefile")): + continue + + subtargets_ext = [] + subtargets_int = [] + for subtarget in os.listdir(target_path): + subtarget_path = os.path.join(target_path, subtarget) + if not os.path.isdir(subtarget_path): + continue + if not os.path.exists(os.path.join(subtarget_path, "target.mk")): + continue + if is_ext_toolchain(target, subtarget): + subtargets_ext.append(subtarget) + else: + subtargets_int.append(subtarget) + subtargets_ext.sort() + subtargets_int.sort() + + testing_str = "false" + if is_testing_kernel_set(target_path): + testing_str = "false, true" + + with open( + os.path.join(base_path, ".github", "workflows", f"target-{target}.yml"), "w" + ) as f: + if len(subtargets_ext) + len(subtargets_int) == 0: + if is_ext_toolchain(target, "generic"): + subtargets_ext.append("generic") + else: + subtargets_int.append("generic") + + subtargets = subtargets_ext + subtargets_int + + paths = get_paths(target, base_path)[:-1] + + mappings = { + "paths": paths, + "subtarget_first": subtargets[0], + "target": target, + "testing": testing_str, + } + + subtarget_ext = subtarget_str( + template_toolchain_ext, subtargets_ext, mappings.copy() + ) + subtarget_int = subtarget_str( + template_toolchain_int, subtargets_int, mappings.copy() + ) + + mappings["build_ext"] = subtarget_ext + mappings["build_int"] = subtarget_int + + content = Template(template).substitute(mappings) + + f.write(content) diff --git a/.github/workflows/target-airoha.yml b/.github/workflows/target-airoha.yml new file mode 100644 index 00000000000..ba0542ac13f --- /dev/null +++ b/.github/workflows/target-airoha.yml @@ -0,0 +1,49 @@ +name: Build airoha target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-airoha.yml' + - 'target/linux/airoha/**' + push: + paths: + - '.github/workflows/target-airoha.yml' + - 'target/linux/airoha/**' + +permissions: + contents: read + +jobs: + build_int: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "airoha/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_toolchain: true + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "airoha/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-apm821xx.yml b/.github/workflows/target-apm821xx.yml new file mode 100644 index 00000000000..79c67d62125 --- /dev/null +++ b/.github/workflows/target-apm821xx.yml @@ -0,0 +1,48 @@ +name: Build apm821xx target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-apm821xx.yml' + - 'target/linux/apm821xx/**' + push: + paths: + - '.github/workflows/target-apm821xx.yml' + - 'target/linux/apm821xx/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [nand, sata] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "apm821xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [nand] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "apm821xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-archs38.yml b/.github/workflows/target-archs38.yml new file mode 100644 index 00000000000..8254d8a43da --- /dev/null +++ b/.github/workflows/target-archs38.yml @@ -0,0 +1,48 @@ +name: Build archs38 target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-archs38.yml' + - 'target/linux/archs38/**' + push: + paths: + - '.github/workflows/target-archs38.yml' + - 'target/linux/archs38/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "archs38/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "archs38/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-armvirt.yml b/.github/workflows/target-armvirt.yml new file mode 100644 index 00000000000..8368e5817ca --- /dev/null +++ b/.github/workflows/target-armvirt.yml @@ -0,0 +1,48 @@ +name: Build armvirt target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-armvirt.yml' + - 'target/linux/armvirt/**' + push: + paths: + - '.github/workflows/target-armvirt.yml' + - 'target/linux/armvirt/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [32, 64] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "armvirt/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [32] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "armvirt/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-at91.yml b/.github/workflows/target-at91.yml new file mode 100644 index 00000000000..3c6a326e6b3 --- /dev/null +++ b/.github/workflows/target-at91.yml @@ -0,0 +1,52 @@ +name: Build at91 target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-at91.yml' + - 'target/linux/at91/**' + - 'package/boot/at91bootstrap/**' + - 'package/boot/uboot-at91/**' + push: + paths: + - '.github/workflows/target-at91.yml' + - 'target/linux/at91/**' + - 'package/boot/at91bootstrap/**' + - 'package/boot/uboot-at91/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [sam9x, sama5, sama7] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "at91/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [sam9x] + testing: [false, true] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "at91/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-ath25.yml b/.github/workflows/target-ath25.yml new file mode 100644 index 00000000000..94a05cb44da --- /dev/null +++ b/.github/workflows/target-ath25.yml @@ -0,0 +1,48 @@ +name: Build ath25 target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-ath25.yml' + - 'target/linux/ath25/**' + push: + paths: + - '.github/workflows/target-ath25.yml' + - 'target/linux/ath25/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "ath25/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "ath25/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-ath79.yml b/.github/workflows/target-ath79.yml new file mode 100644 index 00000000000..b68d994fc43 --- /dev/null +++ b/.github/workflows/target-ath79.yml @@ -0,0 +1,48 @@ +name: Build ath79 target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-ath79.yml' + - 'target/linux/ath79/**' + push: + paths: + - '.github/workflows/target-ath79.yml' + - 'target/linux/ath79/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic, mikrotik, nand, tiny] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "ath79/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "ath79/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-bcm27xx.yml b/.github/workflows/target-bcm27xx.yml new file mode 100644 index 00000000000..10ef88a5a1a --- /dev/null +++ b/.github/workflows/target-bcm27xx.yml @@ -0,0 +1,50 @@ +name: Build bcm27xx target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-bcm27xx.yml' + - 'target/linux/bcm27xx/**' + - 'package/kernel/bcm27xx-gpu-fw/**' + push: + paths: + - '.github/workflows/target-bcm27xx.yml' + - 'target/linux/bcm27xx/**' + - 'package/kernel/bcm27xx-gpu-fw/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [bcm2708, bcm2709, bcm2710, bcm2711] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "bcm27xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [bcm2708] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "bcm27xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-bcm47xx.yml b/.github/workflows/target-bcm47xx.yml new file mode 100644 index 00000000000..150685cbdb0 --- /dev/null +++ b/.github/workflows/target-bcm47xx.yml @@ -0,0 +1,48 @@ +name: Build bcm47xx target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-bcm47xx.yml' + - 'target/linux/bcm47xx/**' + push: + paths: + - '.github/workflows/target-bcm47xx.yml' + - 'target/linux/bcm47xx/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic, legacy, mips74k] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "bcm47xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "bcm47xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-bcm4908.yml b/.github/workflows/target-bcm4908.yml new file mode 100644 index 00000000000..d0b376447ec --- /dev/null +++ b/.github/workflows/target-bcm4908.yml @@ -0,0 +1,50 @@ +name: Build bcm4908 target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-bcm4908.yml' + - 'target/linux/bcm4908/**' + - 'package/boot/uboot-bcm4908/**' + push: + paths: + - '.github/workflows/target-bcm4908.yml' + - 'target/linux/bcm4908/**' + - 'package/boot/uboot-bcm4908/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "bcm4908/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "bcm4908/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-bcm53xx.yml b/.github/workflows/target-bcm53xx.yml new file mode 100644 index 00000000000..bfed89e8c13 --- /dev/null +++ b/.github/workflows/target-bcm53xx.yml @@ -0,0 +1,48 @@ +name: Build bcm53xx target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-bcm53xx.yml' + - 'target/linux/bcm53xx/**' + push: + paths: + - '.github/workflows/target-bcm53xx.yml' + - 'target/linux/bcm53xx/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "bcm53xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "bcm53xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-bcm63xx.yml b/.github/workflows/target-bcm63xx.yml new file mode 100644 index 00000000000..313a25035df --- /dev/null +++ b/.github/workflows/target-bcm63xx.yml @@ -0,0 +1,52 @@ +name: Build bcm63xx target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-bcm63xx.yml' + - 'target/linux/bcm63xx/**' + - 'package/kernel/bcm63xx-cfe/**' + - 'package/boot/arm-trusted-firmware-bcm63xx/**' + push: + paths: + - '.github/workflows/target-bcm63xx.yml' + - 'target/linux/bcm63xx/**' + - 'package/kernel/bcm63xx-cfe/**' + - 'package/boot/arm-trusted-firmware-bcm63xx/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic, smp] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "bcm63xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "bcm63xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-bmips.yml b/.github/workflows/target-bmips.yml new file mode 100644 index 00000000000..487109f4b02 --- /dev/null +++ b/.github/workflows/target-bmips.yml @@ -0,0 +1,49 @@ +name: Build bmips target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-bmips.yml' + - 'target/linux/bmips/**' + push: + paths: + - '.github/workflows/target-bmips.yml' + - 'target/linux/bmips/**' + +permissions: + contents: read + +jobs: + build_int: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic, nand] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "bmips/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_toolchain: true + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "bmips/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-gemini.yml b/.github/workflows/target-gemini.yml new file mode 100644 index 00000000000..eb72e2504e6 --- /dev/null +++ b/.github/workflows/target-gemini.yml @@ -0,0 +1,48 @@ +name: Build gemini target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-gemini.yml' + - 'target/linux/gemini/**' + push: + paths: + - '.github/workflows/target-gemini.yml' + - 'target/linux/gemini/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "gemini/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "gemini/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-imx.yml b/.github/workflows/target-imx.yml new file mode 100644 index 00000000000..985193a1f73 --- /dev/null +++ b/.github/workflows/target-imx.yml @@ -0,0 +1,52 @@ +name: Build imx target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-imx.yml' + - 'target/linux/imx/**' + - 'package/boot/imx-bootlets/**' + - 'package/boot/uboot-imx/**' + push: + paths: + - '.github/workflows/target-imx.yml' + - 'target/linux/imx/**' + - 'package/boot/imx-bootlets/**' + - 'package/boot/uboot-imx/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [cortexa7, cortexa9] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "imx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [cortexa7] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "imx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-ipq40xx.yml b/.github/workflows/target-ipq40xx.yml new file mode 100644 index 00000000000..12cd0aebfb0 --- /dev/null +++ b/.github/workflows/target-ipq40xx.yml @@ -0,0 +1,48 @@ +name: Build ipq40xx target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-ipq40xx.yml' + - 'target/linux/ipq40xx/**' + push: + paths: + - '.github/workflows/target-ipq40xx.yml' + - 'target/linux/ipq40xx/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [chromium, generic, mikrotik] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "ipq40xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [chromium] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "ipq40xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-ipq806x.yml b/.github/workflows/target-ipq806x.yml new file mode 100644 index 00000000000..563da458719 --- /dev/null +++ b/.github/workflows/target-ipq806x.yml @@ -0,0 +1,48 @@ +name: Build ipq806x target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-ipq806x.yml' + - 'target/linux/ipq806x/**' + push: + paths: + - '.github/workflows/target-ipq806x.yml' + - 'target/linux/ipq806x/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [chromium, generic] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "ipq806x/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [chromium] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "ipq806x/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-ipq807x.yml b/.github/workflows/target-ipq807x.yml new file mode 100644 index 00000000000..f44ab778857 --- /dev/null +++ b/.github/workflows/target-ipq807x.yml @@ -0,0 +1,48 @@ +name: Build ipq807x target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-ipq807x.yml' + - 'target/linux/ipq807x/**' + push: + paths: + - '.github/workflows/target-ipq807x.yml' + - 'target/linux/ipq807x/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "ipq807x/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "ipq807x/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-kirkwood.yml b/.github/workflows/target-kirkwood.yml new file mode 100644 index 00000000000..6fb86e2726a --- /dev/null +++ b/.github/workflows/target-kirkwood.yml @@ -0,0 +1,50 @@ +name: Build kirkwood target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-kirkwood.yml' + - 'target/linux/kirkwood/**' + - 'package/boot/uboot-kirkwood/**' + push: + paths: + - '.github/workflows/target-kirkwood.yml' + - 'target/linux/kirkwood/**' + - 'package/boot/uboot-kirkwood/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "kirkwood/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "kirkwood/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-lantiq.yml b/.github/workflows/target-lantiq.yml new file mode 100644 index 00000000000..2afff379603 --- /dev/null +++ b/.github/workflows/target-lantiq.yml @@ -0,0 +1,72 @@ +name: Build lantiq target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-lantiq.yml' + - 'target/linux/lantiq/**' + - 'package/kernel/lantiq/**' + - 'package/firmware/lantiq/**' + - 'package/boot/uboot-lantiq/**' + push: + paths: + - '.github/workflows/target-lantiq.yml' + - 'target/linux/lantiq/**' + - 'package/kernel/lantiq/**' + - 'package/firmware/lantiq/**' + - 'package/boot/uboot-lantiq/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [ase, xrx200, xway, xway_legacy] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "lantiq/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + build_int: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [falcon] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "lantiq/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_toolchain: true + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [ase] + testing: [false, true] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "lantiq/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-layerscape.yml b/.github/workflows/target-layerscape.yml new file mode 100644 index 00000000000..a24fece0b9e --- /dev/null +++ b/.github/workflows/target-layerscape.yml @@ -0,0 +1,56 @@ +name: Build layerscape target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-layerscape.yml' + - 'target/linux/layerscape/**' + - 'package/firmware/layerscape/**' + - 'package/boot/tfa-layerscape/**' + - 'package/boot/uboot-layerscape/**' + - 'package/network/utils/layerscape/**' + push: + paths: + - '.github/workflows/target-layerscape.yml' + - 'target/linux/layerscape/**' + - 'package/firmware/layerscape/**' + - 'package/boot/tfa-layerscape/**' + - 'package/boot/uboot-layerscape/**' + - 'package/network/utils/layerscape/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [armv7, armv8_64b] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "layerscape/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [armv7] + testing: [false, true] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "layerscape/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-malta.yml b/.github/workflows/target-malta.yml new file mode 100644 index 00000000000..accefd262f1 --- /dev/null +++ b/.github/workflows/target-malta.yml @@ -0,0 +1,66 @@ +name: Build malta target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-malta.yml' + - 'target/linux/malta/**' + push: + paths: + - '.github/workflows/target-malta.yml' + - 'target/linux/malta/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [be] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "malta/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + build_int: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [be64, le, le64] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "malta/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_toolchain: true + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [be] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "malta/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-mediatek.yml b/.github/workflows/target-mediatek.yml new file mode 100644 index 00000000000..49d90cc2c73 --- /dev/null +++ b/.github/workflows/target-mediatek.yml @@ -0,0 +1,52 @@ +name: Build mediatek target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-mediatek.yml' + - 'target/linux/mediatek/**' + - 'package/boot/arm-trusted-firmware-mediatek/**' + - 'package/boot/uboot-mediatek/**' + push: + paths: + - '.github/workflows/target-mediatek.yml' + - 'target/linux/mediatek/**' + - 'package/boot/arm-trusted-firmware-mediatek/**' + - 'package/boot/uboot-mediatek/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [filogic, mt7622, mt7623, mt7629] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "mediatek/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [filogic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "mediatek/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-mpc85xx.yml b/.github/workflows/target-mpc85xx.yml new file mode 100644 index 00000000000..ce24da9cc2b --- /dev/null +++ b/.github/workflows/target-mpc85xx.yml @@ -0,0 +1,48 @@ +name: Build mpc85xx target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-mpc85xx.yml' + - 'target/linux/mpc85xx/**' + push: + paths: + - '.github/workflows/target-mpc85xx.yml' + - 'target/linux/mpc85xx/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [p1010, p1020, p2020] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "mpc85xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [p1010] + testing: [false, true] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "mpc85xx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-mvebu.yml b/.github/workflows/target-mvebu.yml new file mode 100644 index 00000000000..e61356ca729 --- /dev/null +++ b/.github/workflows/target-mvebu.yml @@ -0,0 +1,52 @@ +name: Build mvebu target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-mvebu.yml' + - 'target/linux/mvebu/**' + - 'package/boot/arm-trusted-firmware-mvebu/**' + - 'package/boot/uboot-mvebu/**' + push: + paths: + - '.github/workflows/target-mvebu.yml' + - 'target/linux/mvebu/**' + - 'package/boot/arm-trusted-firmware-mvebu/**' + - 'package/boot/uboot-mvebu/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [cortexa53, cortexa72, cortexa9] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "mvebu/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [cortexa53] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "mvebu/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-mxs.yml b/.github/workflows/target-mxs.yml new file mode 100644 index 00000000000..c8b663bcdf9 --- /dev/null +++ b/.github/workflows/target-mxs.yml @@ -0,0 +1,50 @@ +name: Build mxs target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-mxs.yml' + - 'target/linux/mxs/**' + - 'package/boot/uboot-mxs/**' + push: + paths: + - '.github/workflows/target-mxs.yml' + - 'target/linux/mxs/**' + - 'package/boot/uboot-mxs/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "mxs/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "mxs/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-octeon.yml b/.github/workflows/target-octeon.yml new file mode 100644 index 00000000000..fbbcae21c6b --- /dev/null +++ b/.github/workflows/target-octeon.yml @@ -0,0 +1,48 @@ +name: Build octeon target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-octeon.yml' + - 'target/linux/octeon/**' + push: + paths: + - '.github/workflows/target-octeon.yml' + - 'target/linux/octeon/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "octeon/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "octeon/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-octeontx.yml b/.github/workflows/target-octeontx.yml new file mode 100644 index 00000000000..e252317e0ec --- /dev/null +++ b/.github/workflows/target-octeontx.yml @@ -0,0 +1,48 @@ +name: Build octeontx target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-octeontx.yml' + - 'target/linux/octeontx/**' + push: + paths: + - '.github/workflows/target-octeontx.yml' + - 'target/linux/octeontx/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "octeontx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "octeontx/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-omap.yml b/.github/workflows/target-omap.yml new file mode 100644 index 00000000000..29b7b5a4b0f --- /dev/null +++ b/.github/workflows/target-omap.yml @@ -0,0 +1,50 @@ +name: Build omap target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-omap.yml' + - 'target/linux/omap/**' + - 'package/boot/uboot-omap/**' + push: + paths: + - '.github/workflows/target-omap.yml' + - 'target/linux/omap/**' + - 'package/boot/uboot-omap/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "omap/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false, true] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "omap/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-oxnas.yml b/.github/workflows/target-oxnas.yml new file mode 100644 index 00000000000..1b6e3e06a01 --- /dev/null +++ b/.github/workflows/target-oxnas.yml @@ -0,0 +1,68 @@ +name: Build oxnas target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-oxnas.yml' + - 'target/linux/oxnas/**' + - 'package/boot/uboot-oxnas/**' + push: + paths: + - '.github/workflows/target-oxnas.yml' + - 'target/linux/oxnas/**' + - 'package/boot/uboot-oxnas/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [ox820] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "oxnas/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + build_int: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [ox810se] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "oxnas/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_toolchain: true + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [ox820] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "oxnas/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-pistachio.yml b/.github/workflows/target-pistachio.yml new file mode 100644 index 00000000000..6d64f810667 --- /dev/null +++ b/.github/workflows/target-pistachio.yml @@ -0,0 +1,48 @@ +name: Build pistachio target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-pistachio.yml' + - 'target/linux/pistachio/**' + push: + paths: + - '.github/workflows/target-pistachio.yml' + - 'target/linux/pistachio/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "pistachio/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "pistachio/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-qoriq.yml b/.github/workflows/target-qoriq.yml new file mode 100644 index 00000000000..7e317ea66bd --- /dev/null +++ b/.github/workflows/target-qoriq.yml @@ -0,0 +1,49 @@ +name: Build qoriq target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-qoriq.yml' + - 'target/linux/qoriq/**' + push: + paths: + - '.github/workflows/target-qoriq.yml' + - 'target/linux/qoriq/**' + +permissions: + contents: read + +jobs: + build_int: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "qoriq/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_toolchain: true + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "qoriq/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-ramips.yml b/.github/workflows/target-ramips.yml new file mode 100644 index 00000000000..85e4f881b94 --- /dev/null +++ b/.github/workflows/target-ramips.yml @@ -0,0 +1,48 @@ +name: Build ramips target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-ramips.yml' + - 'target/linux/ramips/**' + push: + paths: + - '.github/workflows/target-ramips.yml' + - 'target/linux/ramips/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [mt7620, mt7621, mt76x8, rt288x, rt305x, rt3883] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "ramips/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [mt7620] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "ramips/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-realtek.yml b/.github/workflows/target-realtek.yml new file mode 100644 index 00000000000..692c48dabf4 --- /dev/null +++ b/.github/workflows/target-realtek.yml @@ -0,0 +1,48 @@ +name: Build realtek target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-realtek.yml' + - 'target/linux/realtek/**' + push: + paths: + - '.github/workflows/target-realtek.yml' + - 'target/linux/realtek/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [rtl838x, rtl839x, rtl930x, rtl931x] + testing: [false, true] + uses: ./.github/workflows/build.yml + with: + target: "realtek/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [rtl838x] + testing: [false, true] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "realtek/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-rockchip.yml b/.github/workflows/target-rockchip.yml new file mode 100644 index 00000000000..2d0988b6136 --- /dev/null +++ b/.github/workflows/target-rockchip.yml @@ -0,0 +1,52 @@ +name: Build rockchip target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-rockchip.yml' + - 'target/linux/rockchip/**' + - 'package/boot/arm-trusted-firmware-rockchip/**' + - 'package/boot/uboot-rockchip/**' + push: + paths: + - '.github/workflows/target-rockchip.yml' + - 'target/linux/rockchip/**' + - 'package/boot/arm-trusted-firmware-rockchip/**' + - 'package/boot/uboot-rockchip/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [armv8] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "rockchip/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [armv8] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "rockchip/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-sunxi.yml b/.github/workflows/target-sunxi.yml new file mode 100644 index 00000000000..bd2c3d45742 --- /dev/null +++ b/.github/workflows/target-sunxi.yml @@ -0,0 +1,52 @@ +name: Build sunxi target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-sunxi.yml' + - 'target/linux/sunxi/**' + - 'package/boot/arm-trusted-firmware-sunxi/**' + - 'package/boot/uboot-sunxi/**' + push: + paths: + - '.github/workflows/target-sunxi.yml' + - 'target/linux/sunxi/**' + - 'package/boot/arm-trusted-firmware-sunxi/**' + - 'package/boot/uboot-sunxi/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [cortexa53, cortexa7, cortexa8] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "sunxi/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [cortexa53] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "sunxi/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-tegra.yml b/.github/workflows/target-tegra.yml new file mode 100644 index 00000000000..4d474754483 --- /dev/null +++ b/.github/workflows/target-tegra.yml @@ -0,0 +1,50 @@ +name: Build tegra target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-tegra.yml' + - 'target/linux/tegra/**' + - 'package/boot/uboot-tegra/**' + push: + paths: + - '.github/workflows/target-tegra.yml' + - 'target/linux/tegra/**' + - 'package/boot/uboot-tegra/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "tegra/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "tegra/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-uml.yml b/.github/workflows/target-uml.yml new file mode 100644 index 00000000000..67e4c438daf --- /dev/null +++ b/.github/workflows/target-uml.yml @@ -0,0 +1,49 @@ +name: Build uml target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-uml.yml' + - 'target/linux/uml/**' + push: + paths: + - '.github/workflows/target-uml.yml' + - 'target/linux/uml/**' + +permissions: + contents: read + +jobs: + build_int: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "uml/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_toolchain: true + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "uml/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-x86.yml b/.github/workflows/target-x86.yml new file mode 100644 index 00000000000..d0a35aa9f22 --- /dev/null +++ b/.github/workflows/target-x86.yml @@ -0,0 +1,48 @@ +name: Build x86 target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-x86.yml' + - 'target/linux/x86/**' + push: + paths: + - '.github/workflows/target-x86.yml' + - 'target/linux/x86/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [64, generic, geode, legacy] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "x86/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [64] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "x86/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} diff --git a/.github/workflows/target-zynq.yml b/.github/workflows/target-zynq.yml new file mode 100644 index 00000000000..63001fae8bb --- /dev/null +++ b/.github/workflows/target-zynq.yml @@ -0,0 +1,50 @@ +name: Build zynq target +# autogenerated file, see ./.github/workflows/scripts/create-target-files.py + +on: + pull_request: + paths: + - '.github/workflows/target-zynq.yml' + - 'target/linux/zynq/**' + - 'package/boot/uboot-zynq/**' + push: + paths: + - '.github/workflows/target-zynq.yml' + - 'target/linux/zynq/**' + - 'package/boot/uboot-zynq/**' + +permissions: + contents: read + +jobs: + build_ext: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/build.yml + with: + target: "zynq/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }} + build_kernel: true + build_full: true + build_all_boards: true + + + check-kernel-patches: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + subtarget: [generic] + testing: [false] + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: "zynq/${{ matrix.subtarget }}" + testing: ${{ matrix.testing }}