summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorMichael Brown2023-02-06 19:30:06 +0100
committerMichael Brown2023-02-06 20:59:04 +0100
commitbfa5262f0e31fdee06ca7c3098e1f4f3fcb1ede7 (patch)
tree122132479909f4fb7d15bf752560c2bfacb411a2 /.github
parent[ioapi] Move PAGE_SHIFT to bits/io.h (diff)
downloadipxe-bfa5262f0e31fdee06ca7c3098e1f4f3fcb1ede7.tar.gz
ipxe-bfa5262f0e31fdee06ca7c3098e1f4f3fcb1ede7.tar.xz
ipxe-bfa5262f0e31fdee06ca7c3098e1f4f3fcb1ede7.zip
[ci] Cache downloaded packages for GitHub actions
Speed up the "Install packages" step for each CI run by caching the downloaded packages in /var/cache/apt. Do not include libc6-dbg:i386 within the cache, since apt seems to complain if asked to download both gcc-aarch64-linux-gnu and libc6-dbg:i386 at the same time. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/build.yml49
1 files changed, 49 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index b6e18e31..72a1234b 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -4,14 +4,45 @@ on: push
jobs:
+ cache:
+ name: Cache
+ runs-on: ubuntu-22.04
+ steps:
+ - name: Cache permissions
+ run: |
+ sudo chown $(id -un) /var/cache/apt/archives
+ - name: Cache packages
+ uses: actions/cache@v3
+ with:
+ path: /var/cache/apt/archives/*.deb
+ key: apt-cache-${{ github.run_id }}-${{ github.run_attempt }}
+ restore-keys: |
+ apt-cache-
+ - name: Download packages
+ run: |
+ sudo apt update
+ sudo apt install -y -d -o Acquire::Retries=50 \
+ mtools syslinux isolinux \
+ libc6-dev-i386 valgrind \
+ gcc-arm-none-eabi gcc-aarch64-linux-gnu
+
x86:
name: x86
runs-on: ubuntu-22.04
+ needs: cache
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
+ - name: Cache permissions
+ run: |
+ sudo chown $(id -un) /var/cache/apt/archives
+ - name: Cache packages
+ uses: actions/cache/restore@v3
+ with:
+ path: /var/cache/apt/archives/*.deb
+ key: apt-cache-${{ github.run_id }}-${{ github.run_attempt }}
- name: Install packages
run: |
sudo dpkg --add-architecture i386
@@ -33,11 +64,20 @@ jobs:
arm32:
name: ARM32
runs-on: ubuntu-22.04
+ needs: cache
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
+ - name: Cache permissions
+ run: |
+ sudo chown $(id -un) /var/cache/apt/archives
+ - name: Cache packages
+ uses: actions/cache/restore@v3
+ with:
+ path: /var/cache/apt/archives/*.deb
+ key: apt-cache-${{ github.run_id }}-${{ github.run_attempt }}
- name: Install packages
run: |
sudo apt update
@@ -53,11 +93,20 @@ jobs:
arm64:
name: ARM64
runs-on: ubuntu-22.04
+ needs: cache
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
+ - name: Cache permissions
+ run: |
+ sudo chown $(id -un) /var/cache/apt/archives
+ - name: Cache packages
+ uses: actions/cache/restore@v3
+ with:
+ path: /var/cache/apt/archives/*.deb
+ key: apt-cache-${{ github.run_id }}-${{ github.run_attempt }}
- name: Install packages
run: |
sudo apt update