diff options
author | Michael Brown <mcb30@ipxe.org> | 2023-02-06 18:30:06 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2023-02-06 19:59:04 +0000 |
commit | bfa5262f0e31fdee06ca7c3098e1f4f3fcb1ede7 (patch) | |
tree | 122132479909f4fb7d15bf752560c2bfacb411a2 | |
parent | ef0a6f47920a4fb245f35f1b2e4bcaa7305819cd (diff) | |
download | ipxe-bfa5262f0e31fdee06ca7c3098e1f4f3fcb1ede7.tar.gz |
[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>
-rw-r--r-- | .github/workflows/build.yml | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b6e18e310..72a1234b6 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 |