mirror of
https://github.com/neondatabase/neon.git
synced 2025-12-22 21:59:59 +00:00
* Update workflow to fix dependency issue * Update workflow * Update workflow and dockerfile * Specify tag * Update main dockerfile as well * Mirror rust image to docker hub * Update submodule ref Co-authored-by: Rory de Zoete <rdezoete@Rorys-Mac-Studio.fritz.box>
30 lines
1.0 KiB
Docker
30 lines
1.0 KiB
Docker
# First transient image to build compute_tools binaries
|
|
# NB: keep in sync with rust image version in .github/workflows/build_and_test.yml
|
|
ARG REPOSITORY=369495373322.dkr.ecr.eu-central-1.amazonaws.com
|
|
ARG IMAGE=rust
|
|
ARG TAG=pinned
|
|
|
|
FROM $REPOSITORY/$IMAGE:$TAG AS rust-build
|
|
WORKDIR /home/nonroot
|
|
|
|
# Enable https://github.com/paritytech/cachepot to cache Rust crates' compilation results in Docker builds.
|
|
# Set up cachepot to use an AWS S3 bucket for cache results, to reuse it between `docker build` invocations.
|
|
# cachepot falls back to local filesystem if S3 is misconfigured, not failing the build.
|
|
ARG RUSTC_WRAPPER=cachepot
|
|
ENV AWS_REGION=eu-central-1
|
|
ENV CACHEPOT_S3_KEY_PREFIX=cachepot
|
|
ARG CACHEPOT_BUCKET=neon-github-dev
|
|
#ARG AWS_ACCESS_KEY_ID
|
|
#ARG AWS_SECRET_ACCESS_KEY
|
|
|
|
COPY . .
|
|
|
|
RUN set -e \
|
|
&& mold -run cargo build -p compute_tools --release \
|
|
&& cachepot -s
|
|
|
|
# Final image that only has one binary
|
|
FROM debian:bullseye-slim
|
|
|
|
COPY --from=rust-build /home/nonroot/target/release/compute_ctl /usr/local/bin/compute_ctl
|