32 lines
1.2 KiB
Bash
Executable File
32 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
readonly PACKAGE="$1"
|
|
readonly FEATURES="$2"
|
|
readonly TAG="$3"
|
|
|
|
RUST_VERSION="$(sed -E -ne 's/channel = "(.*)"/\1/p' rust-toolchain.toml)"
|
|
COMMIT_SHA="$(git rev-parse HEAD)"
|
|
COMMIT_TS="$(env TZ=UTC0 git show --quiet --date='format-local:%Y-%m-%dT%H:%M:%SZ' --format="%cd" HEAD)"
|
|
NOW="$(date --utc --iso-8601=seconds)"
|
|
REPO_URL="https://github.com/influxdata/influxdb_iox"
|
|
|
|
exec docker buildx build \
|
|
--build-arg CARGO_INCREMENTAL="no" \
|
|
--build-arg CARGO_NET_GIT_FETCH_WITH_CLI="true" \
|
|
--build-arg FEATURES="$FEATURES" \
|
|
--build-arg RUST_VERSION="$RUST_VERSION" \
|
|
--build-arg PACKAGE="$PACKAGE" \
|
|
--label org.opencontainers.image.created="$NOW" \
|
|
--label org.opencontainers.image.url="$REPO_URL" \
|
|
--label org.opencontainers.image.revision="$COMMIT_SHA" \
|
|
--label org.opencontainers.image.vendor="InfluxData Inc." \
|
|
--label org.opencontainers.image.title="InfluxDB IOx, '$PACKAGE'" \
|
|
--label org.opencontainers.image.description="InfluxDB IOx production image for package '$PACKAGE'" \
|
|
--label com.influxdata.image.commit-date="$COMMIT_TS" \
|
|
--label com.influxdata.image.package="$PACKAGE" \
|
|
--progress plain \
|
|
--tag "$TAG" \
|
|
.
|