penguin/tinyproxy

An L4 proxy designed to act as a tiny transparent shim

commit c7c8f728a4ff147078ed663ace25e46c84154e6c

author斟酌 鵬兄 <tgckpg@gmail.com>
date2026-06-09T20:49:03Z
subjectGithub Action: cache the tar ball instead
commit c7c8f728a4ff147078ed663ace25e46c84154e6c
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date:   2026-06-09T20:49:03Z

    Github Action: cache the tar ball instead
---
 .github/workflows/cmake-multi-platform.yml | 54 ++++++++++++++++--------------
 1 file changed, 29 insertions(+), 25 deletions(-)

diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml
index 106f47b..36b1cae 100644
--- a/.github/workflows/cmake-multi-platform.yml
+++ b/.github/workflows/cmake-multi-platform.yml
@@ -23,31 +23,33 @@ jobs:
     name: Prepare libevent source
     runs-on: ubuntu-latest
 
+    env:
+      LIBEVENT_VERSION: 2.1.12-stable
+      LIBEVENT_TARBALL: libevent-2.1.12-stable.tar.gz
+      LIBEVENT_URL: https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
+
     steps:
-      - name: Cache libevent source
-        id: cache-libevent-src
+      - name: Cache libevent tarball
+        id: cache-libevent-tarball
         uses: actions/cache@v4
         with:
-          path: libevent
-          key: libevent-src-${{ env.LIBEVENT_VERSION }}
+          path: .cache/libevent/libevent-2.1.12-stable.tar.gz
+          key: libevent-tarball-2.1.12-stable
 
-      - name: Download and extract libevent
-        if: steps.cache-libevent-src.outputs.cache-hit != 'true'
+      - name: Download libevent tarball
+        if: steps.cache-libevent-tarball.outputs.cache-hit != 'true'
         run: |
           set -eu
+          mkdir -p .cache/libevent
           curl -fL --retry 5 --retry-delay 2 --retry-all-errors \
             "$LIBEVENT_URL" \
-            -o "$LIBEVENT_TARBALL"
-          mkdir -p libevent
-          tar xf "$LIBEVENT_TARBALL" -C libevent --strip-components=1
+            -o ".cache/libevent/$LIBEVENT_TARBALL"
 
-      - name: Upload libevent source
+      - name: Upload libevent tarball
         uses: actions/upload-artifact@v4
         with:
-          name: libevent-src
-          path: libevent
-          if-no-files-found: error
-          retention-days: 1
+          name: libevent-tarball
+          path: .cache/libevent/libevent-2.1.12-stable.tar.gz
 
   linux-musl-x86_64:
     name: Linux musl x86_64 static
@@ -61,19 +63,21 @@ jobs:
         uses: actions/checkout@v4
 
       - &download_libevent_source
-        name: Download libevent source
+        name: Download libevent tarball
         uses: actions/download-artifact@v4
         with:
-          name: libevent-src
-          path: libevent
+          name: libevent-tarball
+          path: .cache/libevent
 
-      - &cache_libevent_build
-        name: Cache bundled libevent build
-        id: cache-libevent-build
-        uses: actions/cache@v4
-        with:
-          path: build/libevent-install
-          key: libevent-build-${{ github.job }}-${{ runner.os }}-${{ runner.arch }}-${{ env.LIBEVENT_VERSION }}-evbuffer128k-v1
+      - &extract_libevent_build
+        name: Extract libevent source
+        run: |
+          set -eu
+          rm -rf libevent
+          mkdir -p libevent
+          tar xf .cache/libevent/libevent-2.1.12-stable.tar.gz \
+            -C libevent \
+            --strip-components=1
 
       - &install_linux_deps
         name: Install deps
@@ -179,7 +183,7 @@ jobs:
 
       - *checkout
       - *download_libevent_source
-      - *cache_libevent_build
+      - *extract_libevent_build
       - *install_linux_deps
       - *build_static
       - *verify_static