You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.0 KiB
38 lines
1.0 KiB
# Test environment with Go and FoundationDB support
|
|
FROM golang:1.24-bookworm
|
|
|
|
# Install system dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
build-essential \
|
|
wget \
|
|
ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Download and install FoundationDB client libraries with checksum verification
|
|
RUN set -euo pipefail \
|
|
&& FDB_VERSION="7.4.5" \
|
|
&& EXPECTED_SHA256="eea6b98cf386a0848655b2e196d18633662a7440a7ee061c10e32153c7e7e112" \
|
|
&& PACKAGE="foundationdb-clients_${FDB_VERSION}-1_amd64.deb" \
|
|
&& wget -q https://github.com/apple/foundationdb/releases/download/${FDB_VERSION}/${PACKAGE} \
|
|
&& echo "${EXPECTED_SHA256} ${PACKAGE}" | sha256sum -c - \
|
|
&& (dpkg -i ${PACKAGE} || apt-get install -f -y) \
|
|
&& rm ${PACKAGE}
|
|
|
|
# Set up Go environment for CGO
|
|
ENV CGO_ENABLED=1
|
|
ENV GOOS=linux
|
|
|
|
# Set work directory
|
|
WORKDIR /app
|
|
|
|
# Copy source code
|
|
COPY . .
|
|
|
|
# Create directories
|
|
RUN mkdir -p /test/results
|
|
|
|
# Pre-download dependencies
|
|
RUN go mod download
|
|
|
|
# Default command (will be overridden)
|
|
CMD ["go", "version"]
|