commit ab45c57c1664263274b40349b33a510ba2bb7912
| author | 斟酌 鵬兄 <tgckpg@gmail.com> |
| date | 2026-05-26T17:35:05Z |
| subject | docker to use github artifacts directly |
commit ab45c57c1664263274b40349b33a510ba2bb7912
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date: 2026-05-26T17:35:05Z
docker to use github artifacts directly
---
.github/workflows/cmake-multi-platform.yml | 38 +++++++++++++++++++++++++-----
github.Dockerfile | 9 +++++++
2 files changed, 41 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml
index cdbb1af..7f07d13 100644
--- a/.github/workflows/cmake-multi-platform.yml
+++ b/.github/workflows/cmake-multi-platform.yml
@@ -214,8 +214,6 @@ jobs:
needs:
- linux-musl-x86_64
- linux-musl-arm64
- - macos
- - windows
permissions:
contents: read
@@ -224,14 +222,42 @@ jobs:
steps:
- uses: actions/checkout@v4
+ - name: Download Linux artifacts
+ uses: actions/download-artifact@v4
+ with:
+ path: docker-artifacts
+ pattern: tinyproxy-Linux-*
+ merge-multiple: true
+
+ - name: Prepare Docker rootfs
+ run: |
+ mkdir -p rootfs-amd64 rootfs-arm64
+
+ mkdir -p tmp/amd64 tmp/arm64
+
+ tar -xzf docker-artifacts/tinyproxy-Linux-X64.tar.gz -C tmp/amd64
+ tar -xzf docker-artifacts/tinyproxy-Linux-ARM64.tar.gz -C tmp/arm64
+
+ mkdir -p rootfs-amd64/usr/bin rootfs-amd64/etc
+ mkdir -p rootfs-arm64/usr/bin rootfs-arm64/etc
+
+ cp tmp/amd64/tinyproxy/tinyproxy rootfs-amd64/usr/bin/tinyproxy
+ cp tmp/amd64/tinyproxy/tinyproxy.conf rootfs-amd64/etc/tinyproxy.conf
+
+ cp tmp/arm64/tinyproxy/tinyproxy rootfs-arm64/usr/bin/tinyproxy
+ cp tmp/arm64/tinyproxy/tinyproxy.conf rootfs-arm64/etc/tinyproxy.conf
+
+ chmod 0755 rootfs-amd64/usr/bin/tinyproxy
+ chmod 0755 rootfs-arm64/usr/bin/tinyproxy
+
+ file rootfs-amd64/usr/bin/tinyproxy
+ file rootfs-arm64/usr/bin/tinyproxy
+
- name: Set image name
run: |
image="ghcr.io/${GITHUB_REPOSITORY}"
echo "IMAGE_NAME=${image,,}" >> "$GITHUB_ENV"
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v4
-
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
@@ -246,7 +272,7 @@ jobs:
uses: docker/build-push-action@v7
with:
context: .
- file: ./Dockerfile
+ file: ./github.Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
diff --git a/github.Dockerfile b/github.Dockerfile
new file mode 100644
index 0000000..d46c753
--- /dev/null
+++ b/github.Dockerfile
@@ -0,0 +1,9 @@
+FROM scratch
+
+ARG TARGETARCH
+
+COPY rootfs-${TARGETARCH}/usr/bin/tinyproxy /usr/bin/tinyproxy
+COPY rootfs-${TARGETARCH}/etc/tinyproxy.conf /etc/tinyproxy.conf
+
+ENTRYPOINT ["/usr/bin/tinyproxy"]
+CMD ["-c", "/etc/tinyproxy.conf"]