From 3209ba7f7791e146f9f2696b759c2d5c006011eb Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 1 Feb 2026 19:58:10 +0000 Subject: [PATCH 1/2] Refactor build.yml to invoke docker run manually to avoid runner container failure The self-hosted runner fails with "Value cannot be null. (Parameter 'network')" and "docker version" exit code 1 when using the job-level `container:` directive. This change removes the `container:` directive and wraps build steps in explicit `docker run` commands using heredocs to preserve command structure and environment variables. Also adjusts permissions on the checkout directory to ensure the container user (buildbot) can write to it. Co-authored-by: manupawickramasinghe <73810867+manupawickramasinghe@users.noreply.github.com> --- .github/workflows/build.yml | 126 ++++++++++++++++++++++++------------ 1 file changed, 83 insertions(+), 43 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3b2c7727ea2561..7456f16c1c3284 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -83,9 +83,6 @@ jobs: name: Build with external toolchain needs: setup_build runs-on: self-hosted - - container: ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} - permissions: contents: read packages: read @@ -124,9 +121,13 @@ jobs: repository: openwrt/telephony path: openwrt/feeds/telephony + + - name: Pull Docker image + run: | + docker pull ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} - name: Fix permission run: | - chown -R buildbot:buildbot openwrt + chmod -R 777 openwrt - name: Initialization environment run: | @@ -137,12 +138,14 @@ jobs: - name: Update & Install feeds if: inputs.include_feeds == true - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' ./scripts/feeds update -a ./scripts/feeds install -a + INNER + EOF - name: Parse toolchain file if: inputs.build_toolchain == false id: parse-toolchain @@ -218,45 +221,56 @@ jobs: | tar --xz -xf - - name: Extract prebuilt tools - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: ./scripts/ext-tools.sh --tools /tools.tar + run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' + ./scripts/ext-tools.sh --tools /tools.tar + INNER + EOF - name: Configure testing kernel if: inputs.testing == true - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' echo CONFIG_TESTING_KERNEL=y >> .config + INNER + EOF - name: Configure all kernel modules if: inputs.build_all_kmods == true - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' echo CONFIG_ALL_KMODS=y >> .config + INNER + EOF - name: Configure all modules if: inputs.build_all_modules == true - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' echo CONFIG_ALL=y >> .config + INNER + EOF - name: Configure all boards if: inputs.build_all_boards == true - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' echo CONFIG_TARGET_MULTI_PROFILE=y >> .config echo CONFIG_TARGET_PER_DEVICE_ROOTFS=y >> .config echo CONFIG_TARGET_ALL_PROFILES=y >> .config + INNER + EOF - name: Configure external toolchain if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type == 'external_toolchain' - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' echo CONFIG_DEVEL=y >> .config echo CONFIG_AUTOREMOVE=y >> .config echo CONFIG_CCACHE=y >> .config @@ -266,11 +280,13 @@ jobs: --overwrite-config \ --config ${{ env.TARGET }}/${{ env.SUBTARGET }} + INNER + EOF - name: Adapt external sdk to external toolchain format if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type == 'external_sdk' && steps.cache-external-toolchain.outputs.cache-hit != 'true' - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' TOOLCHAIN_DIR=${{ env.TOOLCHAIN_FILE }}/staging_dir/$(ls ${{ env.TOOLCHAIN_FILE }}/staging_dir | grep toolchain) TOOLCHAIN_BIN=$TOOLCHAIN_DIR/bin OPENWRT_DIR=$(pwd) @@ -294,11 +310,13 @@ jobs: ln -sf $GNU_TARGET_NAME-wrapper.sh $GNU_TARGET_NAME-$app done + INNER + EOF - name: Configure external toolchain with sdk if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type == 'external_sdk' - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' echo CONFIG_DEVEL=y >> .config echo CONFIG_AUTOREMOVE=y >> .config echo CONFIG_CCACHE=y >> .config @@ -308,11 +326,13 @@ jobs: --overwrite-config \ --config ${{ env.TARGET }}/${{ env.SUBTARGET }} + INNER + EOF - name: Configure internal toolchain if: inputs.build_toolchain == true - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' echo CONFIG_DEVEL=y >> .config echo CONFIG_AUTOREMOVE=y >> .config echo CONFIG_CCACHE=y >> .config @@ -322,36 +342,56 @@ jobs: make defconfig + INNER + EOF - name: Show configuration - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: ./scripts/diffconfig.sh + run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' + ./scripts/diffconfig.sh + INNER + EOF - name: Build tools - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make tools/install -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' + make tools/install -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + INNER + EOF - name: Build toolchain - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make toolchain/install -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' + make toolchain/install -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + INNER + EOF - name: Build Kernel - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make target/compile -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' + make target/compile -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + INNER + EOF - name: Build Kernel Kmods - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make package/linux/compile -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' + make package/linux/compile -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + INNER + EOF - name: Build everything if: inputs.build_full == true - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + run: | + docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + su buildbot -c "sh -e" <<'INNER' + make -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + INNER + EOF - name: Upload logs if: failure() From 898de3e68acbc1ee892f51776b826817cb58a10c Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 1 Feb 2026 20:10:59 +0000 Subject: [PATCH 2/2] Refactor build.yml to invoke sudo docker run and mount workspace Refactored the build workflow to manually invoke `docker run` with `sudo` to resolve permission issues on the self-hosted runner. Mounted the entire `$GITHUB_WORKSPACE` to `/workspace` inside the container to ensure that all downloaded tools and scripts (including `.github` directory) are accessible. Used heredocs for build commands to preserve structure and legibility. Adjusted permissions on the checkout directory to ensure the `buildbot` user inside the container can write to it. Co-authored-by: manupawickramasinghe <73810867+manupawickramasinghe@users.noreply.github.com> --- .github/workflows/build.yml | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7456f16c1c3284..870c60c9620211 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -124,7 +124,7 @@ jobs: - name: Pull Docker image run: | - docker pull ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} + sudo docker pull ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} - name: Fix permission run: | chmod -R 777 openwrt @@ -139,7 +139,7 @@ jobs: - name: Update & Install feeds if: inputs.include_feeds == true run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' ./scripts/feeds update -a ./scripts/feeds install -a @@ -222,7 +222,7 @@ jobs: - name: Extract prebuilt tools run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' ./scripts/ext-tools.sh --tools /tools.tar INNER @@ -231,7 +231,7 @@ jobs: - name: Configure testing kernel if: inputs.testing == true run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' echo CONFIG_TESTING_KERNEL=y >> .config @@ -240,7 +240,7 @@ jobs: - name: Configure all kernel modules if: inputs.build_all_kmods == true run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' echo CONFIG_ALL_KMODS=y >> .config @@ -249,7 +249,7 @@ jobs: - name: Configure all modules if: inputs.build_all_modules == true run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' echo CONFIG_ALL=y >> .config @@ -258,7 +258,7 @@ jobs: - name: Configure all boards if: inputs.build_all_boards == true run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' echo CONFIG_TARGET_MULTI_PROFILE=y >> .config echo CONFIG_TARGET_PER_DEVICE_ROOTFS=y >> .config @@ -269,7 +269,7 @@ jobs: - name: Configure external toolchain if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type == 'external_toolchain' run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' echo CONFIG_DEVEL=y >> .config echo CONFIG_AUTOREMOVE=y >> .config @@ -285,7 +285,7 @@ jobs: - name: Adapt external sdk to external toolchain format if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type == 'external_sdk' && steps.cache-external-toolchain.outputs.cache-hit != 'true' run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' TOOLCHAIN_DIR=${{ env.TOOLCHAIN_FILE }}/staging_dir/$(ls ${{ env.TOOLCHAIN_FILE }}/staging_dir | grep toolchain) TOOLCHAIN_BIN=$TOOLCHAIN_DIR/bin @@ -315,7 +315,7 @@ jobs: - name: Configure external toolchain with sdk if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type == 'external_sdk' run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' echo CONFIG_DEVEL=y >> .config echo CONFIG_AUTOREMOVE=y >> .config @@ -331,7 +331,7 @@ jobs: - name: Configure internal toolchain if: inputs.build_toolchain == true run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' echo CONFIG_DEVEL=y >> .config echo CONFIG_AUTOREMOVE=y >> .config @@ -346,7 +346,7 @@ jobs: EOF - name: Show configuration run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' ./scripts/diffconfig.sh INNER @@ -354,7 +354,7 @@ jobs: - name: Build tools run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' make tools/install -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh INNER @@ -362,7 +362,7 @@ jobs: - name: Build toolchain run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' make toolchain/install -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh INNER @@ -370,7 +370,7 @@ jobs: - name: Build Kernel run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' make target/compile -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh INNER @@ -378,7 +378,7 @@ jobs: - name: Build Kernel Kmods run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' make package/linux/compile -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh INNER @@ -387,7 +387,7 @@ jobs: - name: Build everything if: inputs.build_full == true run: | - docker run -i --rm -v $GITHUB_WORKSPACE/openwrt:/openwrt -w /openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' + sudo docker run -i --rm -v $GITHUB_WORKSPACE:/workspace -w /workspace/openwrt -e TARGET=$TARGET -e SUBTARGET=$SUBTARGET -e TOOLCHAIN_FILE=$TOOLCHAIN_FILE -e TOOLCHAIN_PATH=$TOOLCHAIN_PATH -e TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256 ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} /bin/bash <<'EOF' su buildbot -c "sh -e" <<'INNER' make -j$(($(nproc)+1)) --load-average=$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh INNER