diff --git a/Dockerfile.dapper b/Dockerfile.dapper index ee6adfe3..0a9eaf5c 100644 --- a/Dockerfile.dapper +++ b/Dockerfile.dapper @@ -1,18 +1,20 @@ -FROM registry.suse.com/bci/bci-base:15.6 +FROM registry.suse.com/bci/golang:1.22 ARG DAPPER_HOST_ARCH ARG http_proxy ARG https_proxy -ENV HOST_ARCH=${DAPPER_HOST_ARCH} ARCH=${DAPPER_HOST_ARCH} -# Setup environment +ENV HOST_ARCH=${DAPPER_HOST_ARCH} ARCH=${DAPPER_HOST_ARCH} ENV PATH /go/bin:$PATH ENV DAPPER_DOCKER_SOCKET true ENV DAPPER_ENV TAG REPO DRONE_REPO DRONE_PULL_REQUEST DRONE_COMMIT_REF ENV DAPPER_OUTPUT bin coverage.out ENV DAPPER_RUN_ARGS --privileged -v /dev:/host/dev -v /proc:/host/proc ENV DAPPER_SOURCE /go/src/github.com/longhorn/longhorn-share-manager + WORKDIR ${DAPPER_SOURCE} +ENTRYPOINT ["./scripts/entry"] +CMD ["ci"] RUN zypper -n addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/SLE_15/ snappy && \ zypper --gpg-auto-import-keys ref @@ -21,25 +23,10 @@ RUN zypper -n addrepo --refresh https://download.opensuse.org/repositories/syste RUN zypper -n install wget git jq tar gzip gcc linux-glibc-devel glibc-devel-static glibc-devel awk docker && \ rm -rf /var/cache/zypp/* -# needed for ${!var} substitution -RUN rm -f /bin/sh && ln -s /bin/bash /bin/sh +# Install golangci-lint +RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b /go/bin v1.55.2 -RUN if [ ${ARCH} == "s390x" ]; then \ - ln -s /usr/bin/gcc /usr/bin/s390x-linux-gnu-gcc;\ - fi - -# Install Go & tools -ENV GOLANG_ARCH_amd64=amd64 GOLANG_ARCH_arm64=arm64 GOLANG_ARCH_s390x=s390x GOLANG_ARCH=GOLANG_ARCH_${ARCH} \ - GOPATH=/go PATH=/go/bin:/usr/local/go/bin:${PATH} SHELL=/bin/bash -RUN wget -O - https://storage.googleapis.com/golang/go1.21.3.linux-${!GOLANG_ARCH}.tar.gz | tar -xzf - -C /usr/local -RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.55.2 - -# The docker version in dapper is too old to have buildx. Install it manually. -RUN wget https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-${ARCH} && \ +# Install docker buildx: The docker version in dapper is too old to have buildx. Install it manually. +RUN curl -sSfLO https://github.com/docker/buildx/releases/download/v0.13.1/buildx-v0.13.1.linux-${ARCH} && \ chmod +x buildx-v0.13.1.linux-${ARCH} && \ mv buildx-v0.13.1.linux-${ARCH} /usr/local/bin/buildx - -VOLUME /tmp -ENV TMPDIR /tmp -ENTRYPOINT ["./scripts/entry"] -CMD ["ci"]