mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-11-01 08:46:10 +00:00
Commit 4699f80e ("test: add test-containerd") added
the containerd commit hash to the alpine base image.
Unfortunately, setting it as ARG does not work and it
needs to be set with ENV for other builds to pick it up.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
59 lines
1.8 KiB
Docker
59 lines
1.8 KiB
Docker
FROM alpine:3.6 AS mirror
|
|
|
|
# update base image
|
|
RUN apk update && apk upgrade -a
|
|
|
|
# Copy Dockerfile so we can include it in the hash
|
|
COPY Dockerfile /Dockerfile
|
|
COPY packages /tmp/
|
|
|
|
# mirror packages
|
|
RUN mkdir -p /mirror/$(uname -m) && \
|
|
apk fetch --recursive -o /mirror/$(uname -m) $(apk info; cat /tmp/packages)
|
|
|
|
# install abuild for signing
|
|
RUN apk add --no-cache abuild
|
|
|
|
# install a new key into /etc/apk/keys
|
|
RUN abuild-keygen -a -i -n
|
|
|
|
# index the new repo
|
|
RUN apk index --rewrite-arch $(uname -m) -o /mirror/$(uname -m)/APKINDEX.unsigned.tar.gz /mirror/$(uname -m)/*.apk
|
|
|
|
# sign the index
|
|
RUN cp /mirror/$(uname -m)/APKINDEX.unsigned.tar.gz /mirror/$(uname -m)/APKINDEX.tar.gz
|
|
RUN abuild-sign /mirror/$(uname -m)/APKINDEX.tar.gz
|
|
|
|
# fetch OVMF for qemu EFI boot (this is not added as a package)
|
|
RUN apk add -X http://dl-cdn.alpinelinux.org/alpine/edge/community ovmf
|
|
|
|
# set this as our repo
|
|
RUN echo "/mirror" > /etc/apk/repositories && apk update
|
|
|
|
# add Go validation tools
|
|
COPY go-compile.sh /go/bin/
|
|
RUN apk add --no-cache git go musl-dev
|
|
ENV GOPATH=/go PATH=$PATH:/go/bin
|
|
RUN go get -u github.com/golang/lint/golint
|
|
RUN go get -u github.com/gordonklaus/ineffassign
|
|
RUN go get -u github.com/LK4D4/vndr
|
|
|
|
FROM koalaman/shellcheck:v0.4.6@sha256:191b61e5f436fc51f22faaf2f4e0f77799f75977c7210377dd73a1a0f99ef8bd AS shellcheck
|
|
|
|
|
|
FROM alpine:3.6
|
|
|
|
COPY --from=mirror /etc/apk/repositories /etc/apk/repositories
|
|
COPY --from=mirror /etc/apk/keys /etc/apk/keys/
|
|
COPY --from=mirror /mirror /mirror/
|
|
COPY --from=mirror /go/bin /go/bin/
|
|
COPY --from=mirror /usr/share/ovmf/bios.bin /usr/share/ovmf/bios.bin
|
|
COPY --from=mirror /Dockerfile /Dockerfile
|
|
|
|
COPY --from=shellcheck /usr/local/bin/shellcheck /usr/local/bin/shellcheck
|
|
COPY --from=shellcheck /usr/local/lib/ /usr/local/lib/
|
|
|
|
RUN apk update && apk upgrade -a
|
|
|
|
ENV CONTAINERD_COMMIT=c215531a8f63a98a69134e804fea4ee6d354bb90
|