From 4dbbc767a4d36a396f2c033ccad44b7806e3b533 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Fri, 2 Jan 2026 13:27:12 -0800 Subject: [PATCH] ok fam --- .github/workflows/test.yml | 10 ++++------ Makefile | 10 +++++++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f66bf21..b1a6263 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,6 +9,8 @@ on: jobs: test: runs-on: ubuntu-latest + env: + APT_CACHE_DIR: ${{ github.workspace }}/.cache/apt/archives steps: - uses: actions/checkout@v6 - name: Set up Ruby @@ -21,15 +23,11 @@ jobs: - name: Cache apt packages uses: actions/cache@v4 with: - path: /var/cache/apt/archives - key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/test.yml') }} + path: .cache/apt + key: ${{ runner.os }}-apt-${{ hashFiles('Makefile') }} restore-keys: | ${{ runner.os }}-apt- - name: Bootstrap run: make bootstrap - - name: Prepare apt cache - run: | - sudo rm -f /var/cache/apt/archives/lock - sudo chmod -R a+rX /var/cache/apt/archives - name: Run tests run: make diff --git a/Makefile b/Makefile index e214314..0f5878e 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,15 @@ default: c ruby bootstrap: @if command -v apt-get >/dev/null 2>&1; then \ - sudo apt-get update && sudo apt-get install -y libreadline-dev; \ + if [ -n "$$APT_CACHE_DIR" ]; then \ + mkdir -p "$$APT_CACHE_DIR/partial"; \ + sudo apt-get update && sudo apt-get install -y \ + -o Dir::Cache::archives="$$APT_CACHE_DIR" \ + -o Dir::Cache::archives::partial="$$APT_CACHE_DIR/partial" \ + libreadline-dev; \ + else \ + sudo apt-get update && sudo apt-get install -y libreadline-dev; \ + fi; \ elif command -v brew >/dev/null 2>&1; then \ brew list readline >/dev/null 2>&1 || brew install readline; \ else \