From ec1a8944374f3c75104066bdc44f71e19d8a5cc2 Mon Sep 17 00:00:00 2001 From: Michael Mendy Date: Tue, 30 Jun 2026 10:13:46 -0700 Subject: [PATCH] infra-bin-releases: make build.sh idempotent (mkdir -p go) Change `mkdir go` to `mkdir -p go` in `infra-bin-releases/build.sh`. The script runs under `set -e`. `mkdir go` (without `-p`) exits non-zero if `go/` already exists, which happens on any re-run or whenever the workspace isn't pristine, and `set -e` then aborts the entire build. The very next `mkdir` in the same script (line 11, `mkdir -p go/src/${VENDORDIR}`) already uses `-p`, so this just makes the two consistent. --- infra-bin-releases/build.sh | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/infra-bin-releases/build.sh b/infra-bin-releases/build.sh index 0929498..51b2746 100644 --- a/infra-bin-releases/build.sh +++ b/infra-bin-releases/build.sh @@ -3,24 +3,32 @@ set -x set -e equo up && equo i dev-lang/go -mkdir go -export GOPATH=$PWD/go + +mkdir -p go +export GOPATH="$PWD/go" export PATH="$PATH:$GOPATH/bin" -WORKDIR=$PWD +WORKDIR="$PWD" VENDORDIR="github.com/MottainaiCI" - -mkdir -p go/src/${VENDORDIR} +mkdir -p "go/src/${VENDORDIR}" +mkdir -p "${WORKDIR}/artefacts" for SUBPROJECT in "mottainai-server" "mottainai-cli" "mottainai-agent" "replicant" do - git clone https://${VENDORDIR}/${SUBPROJECT} go/src/${VENDORDIR}/${SUBPROJECT} - pushd go/src/${VENDORDIR}/${SUBPROJECT} + git clone "https://${VENDORDIR}/${SUBPROJECT}" "go/src/${VENDORDIR}/${SUBPROJECT}" + pushd "go/src/${VENDORDIR}/${SUBPROJECT}" + [ -z "${PROJECT_BRANCH}" ] || { - git checkout ${PROJECT_BRANCH} + git checkout "${PROJECT_BRANCH}" } + make deps make multiarch-build - for i in release/${SUBPROJECT}-* ; do arch=${i##*-} ; ln -s $(basename $i) release/${SUBPROJECT}-latest-linux-${arch} ; done - mv release/* $WORKDIR/artefacts/ + + for i in release/${SUBPROJECT}-* ; do + arch="${i##*-}" + ln -sf "$(basename "$i")" "release/${SUBPROJECT}-latest-linux-${arch}" + done + + mv release/* "${WORKDIR}/artefacts/" popd done