diff --git a/.gitignore b/.gitignore index f6b1162..3ab05ef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ # Build outputs dist/ +# Persistent Go build cache for Docker-based release builds. +.gocache/ + # Generated Windows resource compiled from packaging/windows/gosentry.rc. cmd/gosentry/*.syso diff --git a/scripts/build-linux-docker.sh b/scripts/build-linux-docker.sh index ecd4e7d..63ac27e 100644 --- a/scripts/build-linux-docker.sh +++ b/scripts/build-linux-docker.sh @@ -18,12 +18,14 @@ fi docker build -f Dockerfile -t "$tag" . mkdir -p "$(dirname "$output")" +mkdir -p "$(pwd)/.gocache" docker run --rm \ "${docker_user_args[@]}" \ -e "VERSION=${version}" \ -e "OUTPUT=${output}" \ -e "GOCACHE=/tmp/go-build-cache" \ -v "$(pwd):/src" \ + -v "$(pwd)/.gocache:/tmp/go-build-cache" \ -w /src \ "$tag" \ bash -c 'CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -buildvcs=false -trimpath -ldflags "-s -w -X gitea.mixdep.ru/mix/gosentry/src/app.Version=${VERSION}" -o "${OUTPUT}" ./cmd/gosentry' diff --git a/scripts/build-release-linux.sh b/scripts/build-release-linux.sh index fc3942e..2f832a4 100644 --- a/scripts/build-release-linux.sh +++ b/scripts/build-release-linux.sh @@ -88,11 +88,13 @@ normalize_targets() { } run_in_builder() { + mkdir -p "${repo_root}/.gocache" docker run --rm \ "${docker_user_args[@]}" \ -e "VERSION=${version}" \ -e "GOCACHE=/tmp/go-build-cache" \ -v "${repo_root}:/src" \ + -v "${repo_root}/.gocache:/tmp/go-build-cache" \ -w /src \ "$tag" \ bash -c "$1"