# Container image for running the Ceph-CSI tests # # This container is based on Fedora so that recent versions of tools can easily # be installed. # # Production containers are based one ceph/ceph:latest, which use CentOS as # Operating System, so generated binaries and versions of dependencies may be a # little different. # FROM registry.fedoraproject.org/fedora:latest ARG GOPATH=/go ARG GOROOT=/usr/local/go ENV \ GOPATH=${GOPATH} \ GOROOT=${GOROOT} \ GO111MODULE=on \ PATH="${GOROOT}/bin:${GOPATH}/bin:/opt/commitlint/node_modules/.bin:${PATH}" COPY build.env / RUN source /build.env \ && dnf -y install \ git \ make \ gcc \ librados-devel \ librbd-devel \ rubygems \ ShellCheck \ codespell \ yamllint \ npm \ diffutils \ python3-prettytable \ pylint \ && dnf -y update \ && dnf -y clean all \ && gem install mdl \ && mkdir -p ${GOROOT} \ && curl https://storage.googleapis.com/golang/go${GOLANG_VERSION}.linux-amd64.tar.gz \ | tar xzf - -C ${GOROOT} --strip-components=1 \ && curl -sf "https://install.goreleaser.com/github.com/golangci/golangci-lint.sh" \ | bash -s -- -b ${GOPATH}/bin "${GOLANGCI_VERSION}" \ && curl -L https://git.io/get_helm.sh | bash -s -- --version "${HELM_VERSION}" \ && mkdir /opt/commitlint && pushd /opt/commitlint \ && npm init -y \ && npm install @commitlint/cli@"${COMMITLINT_VERSION}" \ && popd \ && true WORKDIR /go/src/github.com/ceph/ceph-csi