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
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
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

View File

@ -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}"

View File

@ -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

View File

@ -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: