remove unnecessary support for prebuilt binaries
the users will know how to build the binaries themselves.
This commit is contained in:
parent
e4c0d4d72a
commit
0ff72b99d9
@ -13,8 +13,5 @@ tasks:
|
|||||||
make -C undocker coverage.html
|
make -C undocker coverage.html
|
||||||
- lint: |
|
- lint: |
|
||||||
make -C undocker -O -j$(nproc) lint
|
make -C undocker -O -j$(nproc) lint
|
||||||
- binaries: |
|
|
||||||
make -C undocker -O -j$(nproc) all
|
|
||||||
cat undocker/sha256sum-*.txt
|
|
||||||
artifacts:
|
artifacts:
|
||||||
- undocker/coverage.html
|
- undocker/coverage.html
|
||||||
|
31
Makefile
31
Makefile
@ -1,32 +1,15 @@
|
|||||||
SCRIPTS = $(shell awk '/#!\/bin\/(ba)?sh/&&FNR==1{print FILENAME}' $(shell git ls-files))
|
SCRIPTS = $(shell awk '/#!\/bin\/(ba)?sh/&&FNR==1{print FILENAME}' $(shell git ls-files))
|
||||||
GODEPS = $(shell git ls-files '*.go' go.mod go.sum)
|
GODEPS = $(shell git ls-files '*.go' go.mod go.sum)
|
||||||
GOOSARCHS = $(sort darwin/amd64 linux/amd64)
|
|
||||||
|
|
||||||
VSN ?= $(shell git describe --dirty)
|
VSN ?= $(shell git describe --dirty)
|
||||||
VSNHASH = $(shell git rev-parse --verify HEAD)
|
VSNHASH = $(shell git rev-parse --verify HEAD)
|
||||||
LDFLAGS = -ldflags "-X main.Version=$(VSN) -X main.VersionHash=$(VSNHASH)"
|
LDFLAGS = -ldflags "-X main.Version=$(VSN) -X main.VersionHash=$(VSNHASH)"
|
||||||
|
|
||||||
undocker: ## builds binary for the current architecture
|
undocker: ## builds binary for the current architecture
|
||||||
CGO_ENABLED=0 go build $(LDFLAGS) -o $@
|
go build $(LDFLAGS) -o $@
|
||||||
|
|
||||||
.PHONY: test
|
.PHONY: test
|
||||||
test:
|
test: coverage.out
|
||||||
go test -race -cover ./...
|
|
||||||
|
|
||||||
define undockertarget
|
|
||||||
UNDOCKERS += undocker-$(1)-$(2)-$(VSN)
|
|
||||||
undocker-$(1)-$(2)-$(VSN): $(GODEPS)
|
|
||||||
CGO_ENABLED=0 GOOS=$(1) GOARCH=$(2) go build $(LDFLAGS) -o $$@
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(foreach goosarch,$(GOOSARCHS),\
|
|
||||||
$(eval $(call undockertarget,$(word 1,$(subst /, ,$(goosarch))),$(word 2,$(subst /, ,$(goosarch))))))
|
|
||||||
|
|
||||||
.PHONY: all
|
|
||||||
all: $(UNDOCKERS) sha256sum-$(VSN).txt
|
|
||||||
|
|
||||||
.PHONY: sha256sum-asc
|
|
||||||
sha256sum-asc: sha256sum-$(VSN).txt.asc
|
|
||||||
|
|
||||||
.PHONY: lint
|
.PHONY: lint
|
||||||
lint:
|
lint:
|
||||||
@ -36,17 +19,11 @@ lint:
|
|||||||
|
|
||||||
.INTERMEDIATE: coverage.out
|
.INTERMEDIATE: coverage.out
|
||||||
coverage.out: $(GODEPS)
|
coverage.out: $(GODEPS)
|
||||||
go test -coverprofile $@ ./...
|
go test -race -cover -coverprofile $@ ./...
|
||||||
|
|
||||||
coverage.html: coverage.out
|
coverage.html: coverage.out
|
||||||
go tool cover -html=$< -o $@
|
go tool cover -html=$< -o $@
|
||||||
|
|
||||||
sha256sum-$(VSN).txt: $(UNDOCKERS)
|
|
||||||
sha256sum $(UNDOCKERS) > $@
|
|
||||||
|
|
||||||
sha256sum-$(VSN).txt.asc: sha256sum-$(VSN).txt
|
|
||||||
gpg --clearsign $<
|
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -f undocker-*-v* coverage.html sha256sum*.txt sha256sum*.txt.asc
|
rm -f undocker-*-v* coverage.html
|
||||||
|
28
release
28
release
@ -1,39 +1,25 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
err() {
|
_err(){ >&2 echo "ERROR: $*"; exit 1; }
|
||||||
>&2 echo "ERROR: $*"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
git status --porcelain | grep -q "" &&
|
git status --porcelain | grep -q "" &&
|
||||||
err "working tree is dirty, commit your changes first."
|
_err "working tree is dirty, commit your changes first."
|
||||||
|
|
||||||
# https://raimue.blog/2010/09/09/bash-for-loop-with-glob-patterns/
|
|
||||||
shopt -s nullglob
|
|
||||||
for file in sha256sum-*; do
|
|
||||||
err "found $file from previous release, delete it first"
|
|
||||||
done
|
|
||||||
shopt -u nullglob
|
|
||||||
|
|
||||||
[[ "$1" =~ ^v([0-9]+)\.([0-9]+)(\.([0-9]+))?$ ]] || \
|
[[ "$1" =~ ^v([0-9]+)\.([0-9]+)(\.([0-9]+))?$ ]] || \
|
||||||
err "arg1 accepts the following formats: v1.0 v1.0.0"
|
_err "arg1 accepts the following formats: v1.0 v1.0.0"
|
||||||
|
|
||||||
git tag | grep -q "^$1$" &&
|
git tag | grep -q "^$1$" &&
|
||||||
err "tag $1 already exists"
|
_err "tag $1 already exists"
|
||||||
|
|
||||||
|
# sanity test: do the tests pass?
|
||||||
|
make -B -j"$(nproc)" test lint
|
||||||
|
|
||||||
last_tag=$(git tag | tail -1)
|
last_tag=$(git tag | tail -1)
|
||||||
|
|
||||||
make -B -j"$(nproc)" VSN="$1" sha256sum-asc
|
|
||||||
|
|
||||||
{
|
{
|
||||||
echo undocker "$1"
|
echo undocker "$1"
|
||||||
echo
|
echo
|
||||||
echo Changelog since "$last_tag":
|
echo Changelog since "$last_tag":
|
||||||
git log --pretty=format:"- [%cn] %s" "$last_tag"..HEAD
|
git log --pretty=format:"- [%cn] %s" "$last_tag"..HEAD
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo sha256sums of released binaries:
|
|
||||||
cat sha256sum-*.txt
|
|
||||||
echo
|
|
||||||
} | git tag -u motiejus@jakstys.lt -F - "$1"
|
} | git tag -u motiejus@jakstys.lt -F - "$1"
|
||||||
|
Loading…
Reference in New Issue
Block a user