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@gmail.com>
This commit is contained in:
Christian Marangi 2022-11-10 19:53:15 +01:00
parent 7fe3d3670b
commit d40f59825a
No known key found for this signature in database
GPG key ID: AC001D09ADBFEAD7
5 changed files with 24 additions and 9 deletions

View file

@ -1,3 +1,4 @@
FROM registry.gitlab.com/openwrt/buildbot/buildworker-3.4.1 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

View file

@ -61,7 +61,7 @@ jobs:
if: inputs.generate_prebuilt_artifacts == true if: inputs.generate_prebuilt_artifacts == true
shell: su buildbot -c "sh -e {0}" shell: su buildbot -c "sh -e {0}"
working-directory: openwrt 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 - name: Upload prebuilt tools
if: inputs.generate_prebuilt_artifacts == true if: inputs.generate_prebuilt_artifacts == true

View file

@ -137,6 +137,16 @@ jobs:
echo "TARGET=$TARGET" >> "$GITHUB_ENV" echo "TARGET=$TARGET" >> "$GITHUB_ENV"
echo "SUBTARGET=$SUBTARGET" >> "$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 - name: Update & Install feeds
if: inputs.include_feeds == true if: inputs.include_feeds == true
shell: su buildbot -c "sh -e {0}" 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 \ wget -O - https://downloads.cdn.openwrt.org/${{ env.TOOLCHAIN_PATH }}/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/${{ env.TOOLCHAIN_FILE }}.tar.xz \
| tar --xz -xf - | 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 - name: Configure testing kernel
if: inputs.testing == true if: inputs.testing == true
shell: su buildbot -c "sh -e {0}" shell: su buildbot -c "sh -e {0}"

View file

@ -84,10 +84,15 @@ jobs:
echo "TARGET=$TARGET" >> "$GITHUB_ENV" echo "TARGET=$TARGET" >> "$GITHUB_ENV"
echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV" echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV"
- name: Extract prebuilt tools - name: Prepare prebuilt tools
shell: su buildbot -c "sh -e {0}" shell: su buildbot -c "sh -e {0}"
working-directory: openwrt 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 - name: Configure testing kernel
if: inputs.testing == true if: inputs.testing == true

View file

@ -70,6 +70,10 @@ jobs:
name: linux-buildbot-prebuilt-tools name: linux-buildbot-prebuilt-tools
path: openwrt path: openwrt
- name: Extract prebuild tools
working-directory: openwrt
run: tar -xf tools.tar
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
uses: docker/login-action@v2 uses: docker/login-action@v2
with: with: