Skip to content

Commit

Permalink
Update dockerfile base images + go version
Browse files Browse the repository at this point in the history
Also removes the workaround to build github.com/moby/buildkit on darwin.
  • Loading branch information
kleesc committed Nov 26, 2020
1 parent ee2d41f commit bdea3b1
Show file tree
Hide file tree
Showing 6 changed files with 96 additions and 55 deletions.
15 changes: 8 additions & 7 deletions Dockerfile.alpine
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
FROM golang:1.12-alpine3.9 as build
FROM golang:1.15-alpine3.12 as build

ARG BUILDER_SRC

ARG BUILDER_SRC=github.com/quay/quay-builder
RUN apk --no-cache add build-base git
COPY . /go/src/${BUILDER_SRC}
RUN cd /go/src/${BUILDER_SRC} && make && make install
RUN cd /go/src/${BUILDER_SRC} && make build

################################################################################

FROM alpine:3.9
FROM alpine:3.12

RUN apk --no-cache upgrade # 2019-03-19
ARG BUILDER_SRC

RUN apk --no-cache upgrade
RUN apk --no-cache add --virtual .runtime-deps \
ca-certificates git openssh-client perl

COPY --from=build /go/bin/quay-builder /usr/local/bin
COPY --from=build /go/src/${BUILDER_SRC}/bin/quay-builder /usr/local/bin

COPY buildpack/ssh-git.sh /
ADD load_extra_ca.alpine.sh /load_extra_ca.sh
Expand Down
33 changes: 16 additions & 17 deletions Dockerfile.centos7 → Dockerfile.centos
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
FROM centos:7 AS build
LABEL maintainer "Sida Chen <sidchen@redhat.com>"
FROM centos:8 AS build
LABEL maintainer "Quay devel<quay-devel@redhat.com>"

# Install Golang by retrieving the binary
ENV GO_VERSION=1.12.1
ARG BUILDER_SRC

ENV GO_VERSION=1.15.2
ENV GO_OS=linux
ENV GO_ARCH=amd64
ENV GO_HASH=2a3fdabf665496a0db5f41ec6af7a9b15a49fbe71a85a50ca38b1f13a103aeec
ENV GOPATH=/go

RUN curl https://dl.google.com/go/go${GO_VERSION}.${GO_OS}-${GO_ARCH}.tar.gz --output go.tar.gz
RUN echo ${GO_HASH} go.tar.gz > GOCHECKSUM
RUN sha256sum -c GOCHECKSUM
RUN tar -C /usr/local -xzf go.tar.gz > /dev/null
ENV GOPATH=/go
ENV PATH=$PATH:/usr/local/go/bin:${GOPATH}/bin

# Verify go verion
RUN go version

ARG BUILDER_SRC=github.com/quay/quay-builder

# Install dependencies
RUN yum install -y --setopt=tsflags=nodocs --setopt=skip_missing_names_on_install=False git perl wget make gcc
RUN dnf --enablerepo=PowerTools install -y gpgme-devel

COPY . /go/src/${BUILDER_SRC}
RUN cd /go/src/${BUILDER_SRC} && make && make install
RUN cd /go/src/${BUILDER_SRC} && make build


FROM centos:7
LABEL maintainer "[email protected]"
FROM centos:8
LABEL maintainer "Quay devel<[email protected]>"

ARG BUILDER_SRC

RUN yum install -y --setopt=tsflags=nodocs --setopt=skip_missing_names_on_install=False git perl
RUN dnf --enablerepo=PowerTools install -y gpgme-devel

COPY --from=build /go/bin/quay-builder /usr/local/bin
COPY --from=build /go/src/${BUILDER_SRC}/bin/quay-builder /usr/local/bin

COPY buildpack/ssh-git.sh /
ADD load_extra_ca.rhel.sh /load_extra_ca.sh
Expand All @@ -39,4 +39,3 @@ VOLUME ["/tmp"]
VOLUME [ "/certs" ]

ENTRYPOINT ["sh", "/entrypoint.sh"]

27 changes: 13 additions & 14 deletions Dockerfile.rhel7 → Dockerfile.rhel
Original file line number Diff line number Diff line change
@@ -1,30 +1,28 @@
FROM centos:7 AS build
LABEL maintainer "Sida Chen <[email protected]>"
# TODO (kleesc): Template the build container, since it's the same for CentOS
FROM centos:8 AS build
LABEL maintainer "Quay devel<[email protected]>"

# Install Golang by retrieving the binary
ENV GO_VERSION=1.12.1
ARG BUILDER_SRC

ENV GO_VERSION=1.15.2
ENV GO_OS=linux
ENV GO_ARCH=amd64
ENV GO_HASH=2a3fdabf665496a0db5f41ec6af7a9b15a49fbe71a85a50ca38b1f13a103aeec
ENV GOPATH=/go

RUN curl https://dl.google.com/go/go${GO_VERSION}.${GO_OS}-${GO_ARCH}.tar.gz --output go.tar.gz
RUN echo ${GO_HASH} go.tar.gz > GOCHECKSUM
RUN sha256sum -c GOCHECKSUM
RUN tar -C /usr/local -xzf go.tar.gz > /dev/null
ENV GOPATH=/go
ENV PATH=$PATH:/usr/local/go/bin:${GOPATH}/bin

# Verify go verion
RUN go version

ARG BUILDER_SRC=github.com/quay/quay-builder

# Install dependencies
RUN yum install -y --setopt=tsflags=nodocs --setopt=skip_missing_names_on_install=False git perl wget make gcc
RUN dnf --enablerepo=PowerTools install -y gpgme-devel

COPY . /go/src/${BUILDER_SRC}
RUN cd /go/src/${BUILDER_SRC} && make && make install
RUN cd /go/src/${BUILDER_SRC} && make build && mv bin/quay


FROM registry.redhat.io/rhel7:7.6
FROM registry.access.redhat.com/ubi8:8.1
LABEL maintainer "[email protected]"

ARG SUBSCRIPTION_KEY
Expand All @@ -36,6 +34,7 @@ RUN subscription-manager import --certificate=/tmp/${SUBSCRIPTION_KEY}
RUN rm -f /tmp/${SUBSCRIPTION_KEY}

RUN yum install -y --setopt=tsflags=nodocs --setopt=skip_missing_names_on_install=False git perl
RUN dnf --enablerepo=PowerTools install -y gpgme-devel

# Remove subscription key
RUN subscription-manager remove --all
Expand Down
30 changes: 15 additions & 15 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.PHONY: dep test bin/quay-builder
.PHONY: vendor test bin/quay-builder

PROJECT ?= quay-builder
ORG_PATH ?= github.com/quay
Expand All @@ -8,31 +8,31 @@ VERSION ?= $(shell ./scripts/git-version)
LD_FLAGS ?= "-w -X $(REPO_PATH)/version.Version=$(VERSION)"
IMAGE_TAG ?= latest
SUBSCRIPTION_KEY ?= subscription.pem
BUILD_TAGS ?= 'btrfs_noversion exclude_graphdriver_btrfs exclude_graphdriver_devicemapper containers_image_openpgp'
BUILDER_SRC ?= 'github.com/quay/quay-builder'

all: dep test build
all: vendor test build

dep:
@GO111MODULE=on go mod vendor
vendor:
@go mod vendor

test: dep
test: vendor
@go vet ./...
@go test -v ./...

build: dep bin/quay-builder
build: bin/quay-builder

bin/quay-builder:
@go build -ldflags $(LD_FLAGS) -o bin/quay-builder \
$(REPO_PATH)/cmd/quay-builder
CGO_ENABLED=0 go build -ldflags $(LD_FLAGS) -o bin/quay-builder -tags $(BUILD_TAGS) $(REPO_PATH)/cmd/quay-builder

install:
@go install -ldflags $(LD_FLAGS) $(REPO_PATH)/cmd/quay-builder
go install -ldflags $(LD_FLAGS) $(REPO_PATH)/cmd/quay-builder

build-centos7:
docker build -f Dockerfile.centos7 -t $(IMAGE):$(IMAGE_TAG)-centos7 .
build-centos:
docker build --build-arg=BUILDER_SRC=$(BUILDER_SRC) -f Dockerfile.centos7 -t $(IMAGE):$(IMAGE_TAG)-centos .

build-rhel7:
docker build -f Dockerfile.rhel7 -t $(IMAGE):$(IMAGE_TAG)-rhel7 . \
--build-arg SUBSCRIPTION_KEY=$(SUBSCRIPTION_KEY)
build-rhel:
docker build --build-arg=BUILDER_SRC=$(BUILDER_SRC) --build-arg SUBSCRIPTION_KEY=$(SUBSCRIPTION_KEY) -f Dockerfile.rhel7 -t $(IMAGE):$(IMAGE_TAG)-rhel .

build-alpine:
docker build -f Dockerfile.alpine -t $(IMAGE):$(IMAGE_TAG)-alpine .
docker build --build-arg=BUILDER_SRC=$(BUILDER_SRC) -f Dockerfile.alpine -t $(IMAGE):$(IMAGE_TAG)-alpine .
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ replace github.com/containerd/containerd => github.com/containerd/containerd v1.
//https://github.com/moby/moby/issues/40185
replace github.com/docker/docker => github.com/docker/docker v1.4.2-0.20200227233006-38f52c9fec82

// https://github.com/ory/dockertest/issues/208
replace golang.org/x/sys => golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6
// Workaround for darwin: https://github.com/ory/dockertest/issues/208
// replace golang.org/x/sys => golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6

require (
code.cloudfoundry.org/archiver v0.0.0-20200131002800-4ca7245c29b1 // indirect
Expand Down
42 changes: 42 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ github.com/cloudfoundry/archiver v0.0.0-20200131002800-4ca7245c29b1/go.mod h1:HL
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/codahale/hdrhistogram v0.0.0-20160425231609-f8ad88b59a58/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f h1:tSNMc+rJDfmYntojat8lljbt1mgKNpTxUZJsSzJ9Y1s=
github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko=
github.com/containerd/cgroups v0.0.0-20200217135630-d732e370d46d h1:UKAt78F1OvM4ceTn1VvXuYuatXohsFU1eSI2IBtTw9g=
github.com/containerd/cgroups v0.0.0-20200217135630-d732e370d46d/go.mod h1:CStdkl05lBnJej94BPFoJ7vB8cELKXwViS+dgfW0/M8=
Expand Down Expand Up @@ -168,6 +169,7 @@ github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHz
github.com/docker/go-units v0.3.1/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docker/libnetwork v0.8.0-dev.2.0.20190625141545-5a177b73e316 h1:moehPjPiGUaWdwgOl92xRyFHJyaqXDHcCyW9M6nmCK4=
github.com/docker/libnetwork v0.8.0-dev.2.0.20190625141545-5a177b73e316/go.mod h1:93m0aTqz6z+g32wla4l4WxTrdtvBRmVzYRkYvasA5Z8=
github.com/docker/libnetwork v0.8.0-dev.2.0.20200226230617-d8334ccdb9be h1:GJzljYRqZapOwyfeRyExF2/5qfv8f1feNDMiz0hmRPY=
github.com/docker/libnetwork v0.8.0-dev.2.0.20200226230617-d8334ccdb9be/go.mod h1:93m0aTqz6z+g32wla4l4WxTrdtvBRmVzYRkYvasA5Z8=
Expand Down Expand Up @@ -642,8 +644,48 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o=
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190425145619-16072639606e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200327173247-9dae0f8f5775/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6 h1:DvY3Zkh7KabQE/kfzMvYvKirSiguP9Q/veMtkYyf0o8=
golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200909081042-eff7692f9009 h1:W0lCpv29Hv0UaM1LXb9QlBHLNP8UFfcKjblhVCWftOM=
golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
Expand Down

0 comments on commit bdea3b1

Please sign in to comment.