3 changed files with 13 additions and 70 deletions
@ -0,0 +1,6 @@ |
|||||
|
FROM scratch |
||||
|
ARG BUILT_ARTIFACT |
||||
|
ADD "$BUILT_ARTIFACT" / |
||||
|
ENTRYPOINT [ "/kci" ] |
||||
|
CMD [ ] |
||||
|
|
||||
@ -1,70 +0,0 @@ |
|||||
#!/bin/bash |
|
||||
|
|
||||
set -Eeuo pipefail |
|
||||
|
|
||||
NAME="kci" |
|
||||
GIT_SHA="$(git --no-pager describe --always --dirty)" |
|
||||
BUILD_TIME="$(date '+%s')" |
|
||||
LFLAGS="-X main.gitsha=$GIT_SHA -X main.compiled=$BUILD_TIME" |
|
||||
|
|
||||
VERSION="${VERSION:-$GIT_SHA}" |
|
||||
echo "Version: $VERSION" |
|
||||
|
|
||||
release() { |
|
||||
echo "Building $NAME-$VERSION for $GOOS/$GOARCH (${GOARM:-default})..." |
|
||||
|
|
||||
if [ "$GOOS" == "windows" ]; then |
|
||||
EXT=".exe" |
|
||||
else |
|
||||
EXT="" |
|
||||
fi |
|
||||
|
|
||||
if [ "$GOARCH" == "arm" -a -n "${GOARM:-}" ]; then |
|
||||
ARM_EXT="-armv$GOARM" |
|
||||
else |
|
||||
ARM_EXT="" |
|
||||
fi |
|
||||
|
|
||||
export GOARCH GOOS |
|
||||
if [ -n "${GOARM:-}" ]; then |
|
||||
export GOARM |
|
||||
fi |
|
||||
|
|
||||
CGO_ENABLED=0 go build -ldflags " -w $LFLAGS" -o "bin/$NAME$EXT" cli/main.go |
|
||||
tar -czf "release/$NAME-$GOOS-$GOARCH$ARM_EXT.tar.gz" -C bin/ "$NAME$EXT" |
|
||||
(cd release && sha1sum "$NAME-$GOOS-$GOARCH$ARM_EXT.tar.gz" > "$NAME-$GOOS-$GOARCH$ARM_EXT.tar.gz.sha1") |
|
||||
rm -f "bin/$NAME$EXT" |
|
||||
} |
|
||||
|
|
||||
rm -rf bin release |
|
||||
mkdir -p bin release |
|
||||
|
|
||||
go generate ./... |
|
||||
while read configuration; do |
|
||||
unset GOOS |
|
||||
unset GOARCH |
|
||||
unset GOARM |
|
||||
eval "$configuration" |
|
||||
release |
|
||||
done <<EOF |
|
||||
GOOS=linux GOARCH=amd64 |
|
||||
GOOS=linux GOARCH=arm64 |
|
||||
GOOS=linux GOARCH=arm GOARM=5 |
|
||||
GOOS=darwin GOARCH=amd64 |
|
||||
EOF |
|
||||
|
|
||||
CURRENT_TAG="$(git describe --tags --exact-match 2>/dev/null || true)" |
|
||||
CURRENT_COMMIT_ID="$(git rev-parse HEAD)" |
|
||||
|
|
||||
if [ -z "$CURRENT_TAG" ]; then |
|
||||
echo "Currently not on a tag. Skipping GitHub release creation..." |
|
||||
exit 0 |
|
||||
fi |
|
||||
|
|
||||
gh auth status |
|
||||
if ! gh release list | cut -f3 | grep -qx "$VERSION"; then |
|
||||
echo "Creating the $VERSION release..." |
|
||||
gh release create "$VERSION" release/* -d --target "$CURRENT_COMMIT_ID" -n "Released $VERSION" --title "$VERSION" |
|
||||
else |
|
||||
gh release upload "$VERSION" --clobber release/* |
|
||||
fi |
|
||||
@ -0,0 +1,7 @@ |
|||||
|
// +build tools
|
||||
|
|
||||
|
package tools |
||||
|
|
||||
|
import ( |
||||
|
_ "github.com/rakyll/statik" |
||||
|
) |
||||
Loading…
Reference in new issue