#!/bin/sh # script/cibuild: run the CI build. The Dockerfile's lint stage runs # the Go half of make fmt-check and golangci-lint; its builder stage # runs make test and make build. The markdown half of make fmt-check # runs after that build, as its own build of Dockerfile.fmt, because # there is no docker inside a docker build. # # --no-cache-filter=lint,builder runs both stages on every invocation; # otherwise an unchanged tree is served from the layer cache and passes # without linting or querying live DNS. script/fmt-check-markdown busts # its own cache the same way. set -eu SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd -P)" ROOT="$(cd "$SCRIPT_DIR/.." && pwd -P)" main() { cd "$ROOT" docker build --no-cache-filter=lint,builder . "$SCRIPT_DIR/fmt-check-markdown" } main "$@"