From d40f59825a7abc0fe6f1116d599db39fcfc0f489 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Thu, 10 Nov 2022 19:53:15 +0100 Subject: [PATCH] CI: tools: directly copy prebuilt tools in container Directly copy prebuilt tools in container instead of creating an archieve and extracting it later in other workflows. Update build workflow to support this new implementation. Signed-off-by: Christian Marangi --- .github/workflows/Dockerfile.tools | 3 ++- .github/workflows/build-tools.yml | 2 +- .github/workflows/build.yml | 15 ++++++++++----- .github/workflows/check-kernel-patches.yml | 9 +++++++-- .github/workflows/push-containers.yml | 4 ++++ 5 files changed, 24 insertions(+), 9 deletions(-) diff --git a/.github/workflows/Dockerfile.tools b/.github/workflows/Dockerfile.tools index c2ae7dc89659..a38047504450 100644 --- a/.github/workflows/Dockerfile.tools +++ b/.github/workflows/Dockerfile.tools @@ -1,3 +1,4 @@ FROM registry.gitlab.com/openwrt/buildbot/buildworker-3.4.1 -COPY --chown=buildbot:buildbot tools.tar /tools.tar +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/build-tools.yml b/.github/workflows/build-tools.yml index ba19e12330b9..1507b0b056be 100644 --- a/.github/workflows/build-tools.yml +++ b/.github/workflows/build-tools.yml @@ -61,7 +61,7 @@ jobs: if: inputs.generate_prebuilt_artifacts == true shell: su buildbot -c "sh -e {0}" working-directory: openwrt - run: tar --mtime=now -cf tools.tar staging_dir/host build_dir/host + run: tar -cf tools.tar staging_dir/host build_dir/host - name: Upload prebuilt tools if: inputs.generate_prebuilt_artifacts == true diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index de168c0cb90c..62a4441a3b7b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -137,6 +137,16 @@ jobs: echo "TARGET=$TARGET" >> "$GITHUB_ENV" echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV" + - name: Prepare prebuilt tools + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + mkdir -p staging_dir build_dir + ln -s /prebuilt_tools/staging_dir/host staging_dir/host + ln -s /prebuilt_tools/build_dir/host build_dir/host + + ./scripts/ext-tools.sh --refresh + - name: Update & Install feeds if: inputs.include_feeds == true shell: su buildbot -c "sh -e {0}" @@ -221,11 +231,6 @@ jobs: wget -O - https://downloads.cdn.openwrt.org/${{ env.TOOLCHAIN_PATH }}/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/${{ env.TOOLCHAIN_FILE }}.tar.xz \ | 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 - - name: Configure testing kernel if: inputs.testing == true shell: su buildbot -c "sh -e {0}" diff --git a/.github/workflows/check-kernel-patches.yml b/.github/workflows/check-kernel-patches.yml index e5b619064f60..7e0fe5071a5a 100644 --- a/.github/workflows/check-kernel-patches.yml +++ b/.github/workflows/check-kernel-patches.yml @@ -84,10 +84,15 @@ jobs: echo "TARGET=$TARGET" >> "$GITHUB_ENV" echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV" - - name: Extract prebuilt tools + - name: Prepare prebuilt tools shell: su buildbot -c "sh -e {0}" working-directory: openwrt - run: ./scripts/ext-tools.sh --tools /tools.tar + run: | + mkdir -p staging_dir build_dir + ln -sf /prebuilt_tools/staging_dir/host staging_dir/host + ln -sf /prebuilt_tools/build_dir/host build_dir/host + + ./scripts/ext-tools.sh --refresh - name: Configure testing kernel if: inputs.testing == true diff --git a/.github/workflows/push-containers.yml b/.github/workflows/push-containers.yml index 56e0daa611b8..4045dfaa2942 100644 --- a/.github/workflows/push-containers.yml +++ b/.github/workflows/push-containers.yml @@ -70,6 +70,10 @@ jobs: name: linux-buildbot-prebuilt-tools path: openwrt + - name: Extract prebuild tools + working-directory: openwrt + run: tar -xf tools.tar + - name: Login to GitHub Container Registry uses: docker/login-action@v2 with: -- 2.30.2