penguin/tinyproxy

An L4 proxy designed to act as a tiny transparent shim

commit d57fda7307a0eb2e9240542d94dbac3e1233f940

author斟酌 鵬兄 <tgckpg@gmail.com>
date2026-05-26T11:18:35Z
subjectCreate cmake-multi-platform.yml
commit d57fda7307a0eb2e9240542d94dbac3e1233f940
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date:   2026-05-26T11:18:35Z

    Create cmake-multi-platform.yml
---
 .github/workflows/cmake-multi-platform.yml | 109 +++++++++++++++++++++++++++++
 1 file changed, 109 insertions(+)

diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml
new file mode 100644
index 0000000..963f0ec
--- /dev/null
+++ b/.github/workflows/cmake-multi-platform.yml
@@ -0,0 +1,109 @@
+name: tinyproxy CI
+
+on:
+  push:
+    branches: ["main"]
+  pull_request:
+    branches: ["main"]
+
+jobs:
+  linux-musl-x86_64:
+    name: Linux musl x86_64 static
+    runs-on: ubuntu-latest
+    container:
+      image: alpine:3.23
+
+    steps:
+      - uses: actions/checkout@v4
+
+      - name: Install deps
+        run: |
+          apk add --no-cache \
+            build-base \
+            libevent-dev \
+            python3
+
+      - name: Build
+        run: make clean all
+
+      - name: Verify static binary
+        run: |
+          file bin/tinyproxy
+          ldd bin/tinyproxy && exit 1 || true
+
+      - name: Test
+        run: make test
+
+  linux-musl-arm64:
+    name: Linux musl arm64 static
+    runs-on: ubuntu-24.04-arm
+    container:
+      image: alpine:3.23
+
+    steps:
+      - uses: actions/checkout@v4
+
+      - name: Install deps
+        run: |
+          apk add --no-cache \
+            build-base \
+            libevent-dev \
+            python3
+
+      - name: Build
+        run: make clean all
+
+      - name: Verify static binary
+        run: |
+          file bin/tinyproxy
+          ldd bin/tinyproxy && exit 1 || true
+
+      - name: Test
+        run: make test
+
+  macos:
+    name: macOS build
+    runs-on: macos-15
+
+    steps:
+      - uses: actions/checkout@v4
+
+      - name: Install deps
+        run: |
+          brew update
+          brew install libevent
+
+      - name: Build
+        run: make clean all STATIC=0
+
+      - name: Test
+        run: make test
+
+  windows:
+    name: Windows build
+    runs-on: windows-2022
+    continue-on-error: true
+
+    defaults:
+      run:
+        shell: msys2 {0}
+
+    steps:
+      - uses: actions/checkout@v4
+
+      - name: Set up MSYS2
+        uses: msys2/setup-msys2@v2
+        with:
+          msystem: UCRT64
+          update: true
+          install: >-
+            base-devel
+            mingw-w64-ucrt-x86_64-gcc
+            mingw-w64-ucrt-x86_64-libevent
+            mingw-w64-ucrt-x86_64-python
+
+      - name: Build
+        run: make clean all STATIC=0
+
+      - name: Test
+        run: make test