mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-04 12:22:55 +00:00
* ci: use 'vault.centos.org' as default yum for centos:7 image * ci: fix cargo-binstall version to adapt rust toolchain * ci: specify cargo-binstall version to adapt current rust toolchain
52 lines
1.9 KiB
Plaintext
52 lines
1.9 KiB
Plaintext
# Use the legacy glibc 2.28.
|
|
FROM ubuntu:18.10
|
|
|
|
ENV LANG en_US.utf8
|
|
WORKDIR /greptimedb
|
|
|
|
# Use old-releases.ubuntu.com to avoid 404s: https://help.ubuntu.com/community/EOLUpgrades.
|
|
RUN echo "deb http://old-releases.ubuntu.com/ubuntu/ cosmic main restricted universe multiverse\n\
|
|
deb http://old-releases.ubuntu.com/ubuntu/ cosmic-updates main restricted universe multiverse\n\
|
|
deb http://old-releases.ubuntu.com/ubuntu/ cosmic-security main restricted universe multiverse" > /etc/apt/sources.list
|
|
|
|
# Install dependencies.
|
|
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|
libssl-dev \
|
|
tzdata \
|
|
curl \
|
|
ca-certificates \
|
|
git \
|
|
build-essential \
|
|
unzip \
|
|
pkg-config
|
|
|
|
# Install protoc.
|
|
ENV PROTOC_VERSION=25.1
|
|
RUN if [ "$(uname -m)" = "x86_64" ]; then \
|
|
PROTOC_ZIP=protoc-${PROTOC_VERSION}-linux-x86_64.zip; \
|
|
elif [ "$(uname -m)" = "aarch64" ]; then \
|
|
PROTOC_ZIP=protoc-${PROTOC_VERSION}-linux-aarch_64.zip; \
|
|
else \
|
|
echo "Unsupported architecture"; exit 1; \
|
|
fi && \
|
|
curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/${PROTOC_ZIP} && \
|
|
unzip -o ${PROTOC_ZIP} -d /usr/local bin/protoc && \
|
|
unzip -o ${PROTOC_ZIP} -d /usr/local 'include/*' && \
|
|
rm -f ${PROTOC_ZIP}
|
|
|
|
# Install Rust.
|
|
SHELL ["/bin/bash", "-c"]
|
|
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --no-modify-path --default-toolchain none -y
|
|
ENV PATH /root/.cargo/bin/:$PATH
|
|
|
|
# Install Rust toolchains.
|
|
ARG RUST_TOOLCHAIN
|
|
RUN rustup toolchain install ${RUST_TOOLCHAIN}
|
|
|
|
# Install cargo-binstall with a specific version to adapt the current rust toolchain.
|
|
# Note: if we use the latest version, we may encounter the following `use of unstable library feature 'io_error_downcast'` error.
|
|
RUN cargo install cargo-binstall --version 1.6.6 --locked
|
|
|
|
# Install nextest.
|
|
RUN cargo binstall cargo-nextest --no-confirm
|