6 Commits
1.1.1 ... 1.1.2

5 changed files with 22 additions and 55 deletions

View File

@@ -44,12 +44,22 @@ jobs:
command: goreleaser
workflows:
version: 2
build:
jobs:
- build:
filters:
branches:
only: /.*/
tags:
ignore: /^[0-9]+(\.[0-9]+)*/
build-and-release:
jobs:
- build:
filters:
branches:
ignore: /.*/
tags:
only: /.*/
only: /^[0-9]+(\.[0-9]+)*/
- release:
requires:
- build

View File

@@ -8,7 +8,10 @@ ADD . /go/src/github.com/jimeh/casecmp
RUN set -e \
&& dep ensure \
&& CGO_ENABLED=0 go build -a -o /casecmp \
-ldflags "-X main.Version=$(cat VERSION)"
-ldflags "-s -w \
-X main.version=$(cat VERSION) \
-X main.commit=$(git show --format='%h' --no-patch)\
-X main.date=$(date +%Y-%m-%dT%T%z)"
FROM scratch
@@ -16,4 +19,4 @@ COPY --from=builder /casecmp /
ENV PORT 8080
EXPOSE 8080
WORKDIR /
CMD ["/casecmp"]
ENTRYPOINT ["/casecmp"]

View File

@@ -1,38 +1,17 @@
NAME = casecmp
BINARY = bin/${NAME}
VERSION ?= $(shell cat VERSION)
COMMIT = $(shell git show --format="%h" --no-patch)
DATE = $(shell date +%Y-%m-%dT%T%z)
SOURCES = $(shell find . \
-name '*.go' \
-o -name 'LICENSE' \
-o -name 'Makefile' \
-o -name 'README.md' \
-o -name 'VERSION')
RELEASE_DIR = releases
RELEASE_TARGETS = \
$(RELEASE_DIR)/$(NAME)-$(VERSION)_darwin_386.tar.gz \
$(RELEASE_DIR)/$(NAME)-$(VERSION)_darwin_amd64.tar.gz \
$(RELEASE_DIR)/$(NAME)-$(VERSION)_freebsd_386.tar.gz \
$(RELEASE_DIR)/$(NAME)-$(VERSION)_freebsd_amd64.tar.gz \
$(RELEASE_DIR)/$(NAME)-$(VERSION)_freebsd_arm.tar.gz \
$(RELEASE_DIR)/$(NAME)-$(VERSION)_linux_386.tar.gz \
$(RELEASE_DIR)/$(NAME)-$(VERSION)_linux_amd64.tar.gz \
$(RELEASE_DIR)/$(NAME)-$(VERSION)_linux_arm.tar.gz \
$(RELEASE_DIR)/$(NAME)-$(VERSION)_windows_386.zip \
$(RELEASE_DIR)/$(NAME)-$(VERSION)_windows_amd64.zip
RELEASE_ASSETS = \
README.md \
LICENSE
$(BINARY): $(SOURCES)
go build -o ${BINARY} -ldflags \ "\
CGO_ENABLED=0 go build -a -o ${BINARY} -ldflags \ "\
-s -w \
-X main.version=${VERSION} \
-X main.commit=${COMMIT} \
-X main.date=${DATE}"
-X main.commit=$(shell git show --format="%h" --no-patch) \
-X main.date=$(shell date +%Y-%m-%dT%T%z)"
.PHONY: build
build: $(BINARY)
@@ -50,28 +29,3 @@ clean:
.PHONY: docker
docker:
docker build -t "$(shell whoami)/$(NAME)" .
.PHONY: release
release: $(RELEASE_TARGETS)
$(RELEASE_DIR)/$(NAME)-$(VERSION)_%.tar.gz: $(SOURCES)
$(eval OS := $(word 1, $(subst _, ,$*)))
$(eval ARCH := $(word 2, $(subst _, ,$*)))
$(eval TARGET := $(NAME)-$(VERSION)_$*)
mkdir -p "$(TARGET)" \
&& env GOOS=$(OS) GOARCH=$(ARCH) CGO_ENABLED=0 go build -a \
-o "$(TARGET)/$(NAME)" -ldflags "-X main.Version=$(VERSION)" \
&& cp $(RELEASE_ASSETS) "$(TARGET)/" \
&& tar -cvzf "$@" "$(TARGET)" \
&& cd "$(TARGET)" && rm "$(NAME)" $(RELEASE_ASSETS) && cd .. \
&& rmdir "$(TARGET)"
$(RELEASE_DIR)/$(NAME)-$(VERSION)_windows_%.zip: $(SOURCES)
$(eval TARGET := $(NAME)-$(VERSION)_windows_$*)
mkdir -p "$(TARGET)" \
&& env GOOS=windows GOARCH=$* CGO_ENABLED=0 go build -a \
-o "$(TARGET)/$(NAME).exe" -ldflags "-X main.Version=$(VERSION)" \
&& cp $(RELEASE_ASSETS) "$(TARGET)/" \
&& zip -r "$@" "$(TARGET)" \
&& cd "$(TARGET)" && rm "$(NAME).exe" $(RELEASE_ASSETS) && cd .. \
&& rmdir "$(TARGET)"

View File

@@ -1 +1 @@
1.1.1
1.1.2

View File

@@ -101,7 +101,7 @@ func startServer() {
}
address := *bindFlag + ":" + *portFlag
fmt.Println("Listening on " + address)
fmt.Printf("Listening on %s\n", address)
log.Fatal(http.ListenAndServe(address, nil))
}