feat: add agent-friendly ufile CLI
This commit is contained in:
Executable
+35
@@ -0,0 +1,35 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
version=${VERSION:-$(git describe --tags --always --dirty 2>/dev/null || echo dev)}
|
||||
commit=${COMMIT:-$(git rev-parse --short HEAD 2>/dev/null || echo unknown)}
|
||||
build_date=${BUILD_DATE:-$(date -u +%Y-%m-%dT%H:%M:%SZ)}
|
||||
ldflags="-s -w -X main.version=$version -X main.commit=$commit -X main.date=$build_date"
|
||||
|
||||
mkdir -p dist
|
||||
|
||||
for target in \
|
||||
linux/amd64 \
|
||||
linux/arm64 \
|
||||
darwin/amd64 \
|
||||
darwin/arm64 \
|
||||
windows/amd64 \
|
||||
windows/arm64
|
||||
do
|
||||
goos=${target%/*}
|
||||
goarch=${target#*/}
|
||||
output="dist/ufile-cli_${goos}_${goarch}"
|
||||
if [ "$goos" = windows ]; then
|
||||
output="${output}.exe"
|
||||
fi
|
||||
echo "building $output"
|
||||
CGO_ENABLED=0 GOOS=$goos GOARCH=$goarch go build -trimpath -ldflags="$ldflags" -o "$output" ./cmd/ufile-cli
|
||||
done
|
||||
|
||||
if command -v sha256sum >/dev/null 2>&1; then
|
||||
(cd dist && sha256sum ufile-cli_*) > dist/checksums.txt
|
||||
else
|
||||
(cd dist && shasum -a 256 ufile-cli_*) > dist/checksums.txt
|
||||
fi
|
||||
Reference in New Issue
Block a user