From: Christian Marangi Date: Thu, 10 Nov 2022 18:53:15 +0000 (+0100) Subject: CI: tools: directly copy prebuilt tools in container X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fstintel.git;a=commitdiff_plain;h=d40f59825a7abc0fe6f1116d599db39fcfc0f489 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 --- diff --git a/.github/workflows/Dockerfile.tools b/.github/workflows/Dockerfile.tools index c2ae7dc896..a380475044 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 ba19e12330..1507b0b056 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 de168c0cb9..62a4441a3b 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 e5b619064f..7e0fe5071a 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 56e0daa611..4045dfaa29 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: