mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-09 16:00:22 +00:00
60e2527917
It seems GitHub has an issue with the Fedora 40 container image, extracting the Golang tarball fails. The Fedora 39 image does not have this problem, so use that for the time being. Signed-off-by: Niels de Vos <ndevos@ibm.com>
66 lines
1.9 KiB
Docker
66 lines
1.9 KiB
Docker
# 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:39
|
|
|
|
ARG GOPATH=/go
|
|
ARG GOROOT=/usr/local/go
|
|
ARG GOARCH
|
|
|
|
ENV \
|
|
GOPATH=${GOPATH} \
|
|
GOROOT=${GOROOT} \
|
|
GO111MODULE=on \
|
|
CEPHCSIPATH=/go/src/github.com/ceph/ceph-csi \
|
|
PATH="${GOPATH}/bin:${GOROOT}/bin:/opt/commitlint/node_modules/.bin:${PATH}"
|
|
|
|
COPY build.env /
|
|
|
|
RUN mkdir /etc/selinux || true && touch /etc/selinux/config
|
|
|
|
RUN source /build.env \
|
|
&& \
|
|
( test -n "${GOARCH}" && exit 0; echo -e "\n\nMissing GOARCH argument for building image, install Golang or run: make containerized-test GOARCH=amd64\n\n"; exit 1 ) \
|
|
&& dnf -y install \
|
|
git \
|
|
make \
|
|
gcc \
|
|
findutils \
|
|
librados-devel \
|
|
libcephfs-devel \
|
|
librbd-devel \
|
|
openssl \
|
|
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-${GOARCH}.tar.gz \
|
|
| tar xzf - -C ${GOROOT} --strip-components=1 \
|
|
&& curl -sf "https://raw.githubusercontent.com/golangci/golangci-lint/${GOLANGCI_VERSION}/install.sh" \
|
|
| bash -s -- -b ${GOPATH}/bin "${GOLANGCI_VERSION}" \
|
|
&& curl -L "${HELM_SCRIPT}" | bash -s -- --version "${HELM_VERSION}" \
|
|
&& mkdir /opt/commitlint && pushd /opt/commitlint \
|
|
&& npm init -y \
|
|
&& npm install @commitlint/cli@"${COMMITLINT_VERSION}" \
|
|
&& popd \
|
|
&& git config --global --add safe.directory ${CEPHCSIPATH} \
|
|
&& go install github.com/augmentable-dev/tickgit/cmd/tickgit@latest \
|
|
&& true
|
|
|
|
WORKDIR ${CEPHCSIPATH}
|