[openwrt/openwrt] CI: tools: directly copy prebuilt tools in container

LEDE Commits lede-commits at lists.infradead.org
Mon Jan 23 10:19:10 PST 2023


ansuel pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/d40f59825a7abc0fe6f1116d599db39fcfc0f489

commit d40f59825a7abc0fe6f1116d599db39fcfc0f489
Author: Christian Marangi <ansuelsmth at gmail.com>
AuthorDate: Thu Nov 10 19:53:15 2022 +0100

    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 <ansuelsmth at gmail.com>
---
 .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 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 at v2
         with:




More information about the lede-commits mailing list