#!/usr/bin/env bash # Build the owpengram-server container image, stamping the current git state # into the binary (shows up in telesrv's startup log as git_commit/git_branch/ # git_tree_state/build_time). .containerignore excludes .git, so go build's # automatic VCS stamping can't see the repo - the values are passed in here. # # Usage: ./build.sh [extra podman build args...] # IMAGE=my/tag ./build.sh # override the image tag (default: owpengram-server) set -euo pipefail cd "$(dirname "$0")" IMAGE="${IMAGE:-owpengram-server}" podman build \ --build-arg GIT_COMMIT="$(git rev-parse HEAD)" \ --build-arg GIT_BRANCH="$(git rev-parse --abbrev-ref HEAD)" \ --build-arg GIT_TREE_STATE="$(git diff --quiet && echo clean || echo dirty)" \ --build-arg BUILD_TIME="$(date -u +%Y-%m-%dT%H:%M:%SZ)" \ -t "$IMAGE" \ -f Containerfile \ "$@" \ .