rickub/ci-benchpublic Fork 0
8421335df28fbd4614c026374c4bd3896cd5f184
Commits
Clone
git clone https://git.rickub.com/rickub/ci-bench.git
git clone ssh://git@rickub.com/rickub/ci-bench.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Dockerfile · 25 lines · 1.1 KBDocker Blame HistoryRaw
ci-bench: cross-platform CI race scaffold (rickub CI vs GitHub Actions) 0baf736 Olivier Girardot yesterday1# docker-build workload — multi-stage build against a digest-pinned base.
2#
3# The base is pinned to the exact alpine:3.20 digest rickub itself pins for its
4# own CI images (images/firecracker/rootfs/Dockerfile in the rickub monorepo),
5# i.e. a digest known to be stable and public. CAVEAT (documented in README):
6# `apk add` inside the builder still floats with the Alpine mirror at run time;
7# a truly bit-frozen build would vendored-package the toolchain, which would
8# remove the network component this workload deliberately measures.
9
10# syntax=docker/dockerfile:1
11ARG ALPINE_IMAGE=alpine:3.20@sha256:d9e853e87e55526f6b2917df91a2115c36dd7c696a35be12163d44e6e2a4b6bc
12
13# --- builder: fetch toolchain, compile --------------------------------------
14FROM ${ALPINE_IMAGE} AS builder
15RUN apk add --no-cache build-base
16WORKDIR /src
17COPY main.c .
18RUN cc -O2 -static -o ci-bench-docker main.c
19
20# --- final: tiny image, just the static binary ------------------------------
21FROM ${ALPINE_IMAGE}
22WORKDIR /
23COPY --from=builder /src/ci-bench-docker /usr/local/bin/ci-bench-docker
24# Expected output: ci-bench-docker-a56ee6092483
25CMD ["/usr/local/bin/ci-bench-docker"]