diff --git a/.github/dockerfiles/Dockerfile.tools b/.github/dockerfiles/Dockerfile.tools index eac3ae74..61d0fbfa 100644 --- a/.github/dockerfiles/Dockerfile.tools +++ b/.github/dockerfiles/Dockerfile.tools @@ -1,4 +1,4 @@ -FROM ghcr.io/openwrt/buildbot/buildworker-v3.8.0:v9 +FROM ghcr.io/openwrt/buildbot/buildworker-v3.11.8:v21@sha256:fcebfe9792fa5db122d68fe781c5e45af7abf1ab5968ed1e040b48663aea1528 COPY --chown=buildbot staging_dir/host /prebuilt_tools/staging_dir/host COPY --chown=buildbot build_dir/host /prebuilt_tools/build_dir/host diff --git a/.github/workflows/label-target.yml b/.github/workflows/label-target.yml index f32d79e7..3b5f9f79 100644 --- a/.github/workflows/label-target.yml +++ b/.github/workflows/label-target.yml @@ -35,6 +35,8 @@ jobs: target: ${{ needs.set_target.outputs.target }} subtarget: ${{ needs.set_target.outputs.subtarget }} build_full: true + build_ib_sdk: true + build_bpf_toolchain: true build_all_kmods: true build_all_boards: true build_all_modules: true diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml index 7e4fa948..e6cdb78d 100644 --- a/.github/workflows/packages.yml +++ b/.github/workflows/packages.yml @@ -44,6 +44,8 @@ jobs: build_all_kmods: true build_all_modules: true build_full: true + build_ib_sdk: true + build_bpf_toolchain: true ccache_type: packages upload_ccache_cache: ${{ github.repository_owner == 'openwrt' }} check_packages_list: ${{ needs.determine_changed_packages.outputs.changed_packages }} diff --git a/.github/workflows/reusable_build-tools.yml b/.github/workflows/reusable_build-tools.yml index 5a0a3860..4a33ae15 100644 --- a/.github/workflows/reusable_build-tools.yml +++ b/.github/workflows/reusable_build-tools.yml @@ -13,7 +13,7 @@ jobs: build: name: Build tools runs-on: ubuntu-latest - container: ghcr.io/openwrt/buildbot/buildworker-v3.8.0:v9 + container: ghcr.io/openwrt/buildbot/buildworker-v3.11.8:v21@sha256:fcebfe9792fa5db122d68fe781c5e45af7abf1ab5968ed1e040b48663aea1528 steps: - name: Checkout diff --git a/.github/workflows/reusable_build.yml b/.github/workflows/reusable_build.yml index d22542d1..622488bb 100644 --- a/.github/workflows/reusable_build.yml +++ b/.github/workflows/reusable_build.yml @@ -35,6 +35,10 @@ on: type: boolean build_all_boards: type: boolean + build_ib_sdk: + type: boolean + build_bpf_toolchain: + type: boolean use_openwrt_container: type: boolean default: true @@ -449,6 +453,33 @@ jobs: run: | echo CONFIG_KERNEL_WERROR=y >> .config + - name: Configure various options which are used on buildbots + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_JSON_CYCLONEDX_SBOM=y >> .config + echo CONFIG_COLLECT_KERNEL_DEBUG=y >> .config + echo CONFIG_REPRODUCIBLE_DEBUG_INFO=y >> .config + echo CONFIG_KERNEL_BUILD_USER="builder" >> .config + echo CONFIG_KERNEL_BUILD_DOMAIN="buildhost" >> .config + + - name: Configure BPF options as used on buildbots + shell: su buildbot -c "sh -e {0}" + if: inputs.build_bpf_toolchain == true + working-directory: openwrt + run: | + echo CONFIG_DEVEL=y >> .config + echo CONFIG_SDK_LLVM_BPF=y >> .config + echo CONFIG_BPF_TOOLCHAIN_BUILD_LLVM=y >> .config + + - name: Configure SDK and IB options used on buildbots + shell: su buildbot -c "sh -e {0}" + if: inputs.build_ib_sdk == true + working-directory: openwrt + run: | + echo CONFIG_IB=y >> .config + echo CONFIG_SDK=y >> .config + - name: Configure all kernel modules if: inputs.build_all_kmods == true shell: su buildbot -c "sh -e {0}" @@ -620,12 +651,36 @@ jobs: working-directory: openwrt run: make -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + - name: Check SDK + if: inputs.build_ib_sdk == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: .github/workflows/scripts/tools-smoke-test.sh sdk ${{ inputs.target }} ${{ inputs.subtarget }} + + - name: Check ImageBuilder + if: inputs.build_ib_sdk == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: .github/workflows/scripts/tools-smoke-test.sh imagebuilder ${{ inputs.target }} ${{ inputs.subtarget }} + + - name: Check BPF toolchain + if: inputs.build_bpf_toolchain == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: .github/workflows/scripts/tools-smoke-test.sh bpf ${{ inputs.target }} ${{ inputs.subtarget }} + - name: Build external toolchain if: inputs.build_external_toolchain == true shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: make target/toolchain/compile -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + - name: Check external toolchain + if: inputs.build_external_toolchain == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: .github/workflows/scripts/tools-smoke-test.sh toolchain ${{ inputs.target }} ${{ inputs.subtarget }} + - name: Coverity prepare toolchain if: inputs.coverity_check_packages != '' shell: su buildbot -c "sh -e {0}" diff --git a/.github/workflows/toolchain.yml b/.github/workflows/toolchain.yml index 23e68898..05fe67cc 100644 --- a/.github/workflows/toolchain.yml +++ b/.github/workflows/toolchain.yml @@ -53,3 +53,4 @@ jobs: target: ${{ matrix.target }} subtarget: ${{ matrix.subtarget }} build_toolchain: true + build_bpf_toolchain: true