github.com/cilium/cilium@v1.16.2/images/cache/Dockerfile (about)

     1  # Copyright Authors of Cilium
     2  # SPDX-License-Identifier: Apache-2.0
     3  
     4  FROM docker.io/library/alpine:3.20.1@sha256:b89d9c93e9ed3597455c90a0b88a8bbb5cb7188438f70953fede212a0c4394e0 AS import-cache
     5  
     6  RUN --mount=type=bind,target=/host-tmp \
     7      --mount=type=cache,target=/root/.cache \
     8      --mount=type=cache,target=/go/pkg \
     9      mkdir -p /root/.cache/go-build; \
    10      mkdir -p /go/pkg; \
    11      if [ -f /host-tmp/go-build-cache.tar.gz ]; then \
    12        tar xzf /host-tmp/go-build-cache.tar.gz --no-same-owner -C /root/.cache/go-build; \
    13      fi; \
    14      if [ -f /host-tmp/go-pkg-cache.tar.gz ]; then \
    15        tar xzf /host-tmp/go-pkg-cache.tar.gz --no-same-owner -C /go/pkg; \
    16      fi
    17  
    18  FROM docker.io/library/alpine:3.20.1@sha256:b89d9c93e9ed3597455c90a0b88a8bbb5cb7188438f70953fede212a0c4394e0 AS cache-creator
    19  RUN --mount=type=cache,target=/root/.cache \
    20      --mount=type=cache,target=/go/pkg \
    21      tar czf /tmp/go-build-cache.tar.gz -C /root/.cache/go-build . ; \
    22      tar czf /tmp/go-pkg-cache.tar.gz -C /go/pkg .
    23  
    24  FROM scratch AS export-cache
    25  
    26  COPY --from=cache-creator \
    27          /tmp/go-build-cache.tar.gz \
    28          /tmp/go-pkg-cache.tar.gz \
    29          /tmp/