#!/bin/sh # script/docker: build the Docker image tagged with the project name. # The tag comes from script/projectname. # # CHECK_EPOCH is passed for the same reason script/cibuild passes it: # without it Docker serves the Dockerfile's gate layers from cache on an # unchanged tree and this exits 0 having run neither the lint stage nor # the builder stage's make check. This is the gate a developer or # reviewer runs by hand, so a cached pass here is the most misleading # result the repo can produce. Dependency layers sit above the ARG and # stay cached. set -eu SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd -P)" ROOT="$(cd "$SCRIPT_DIR/.." && pwd -P)" main() { cd "$ROOT" docker build \ --build-arg CHECK_EPOCH="$(date +%s)" \ -t "$("$SCRIPT_DIR/projectname")" \ . } main "$@"