mirror of
https://github.com/jimeh/casecmp.git
synced 2026-02-19 10:26:40 +00:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 93589c3261 | |||
| 874fcfdfe5 | |||
| 48dd4d7e7d | |||
| 645ba113b4 | |||
| 232ba27c86 | |||
| 75542c3748 |
@@ -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
|
||||
|
||||
@@ -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"]
|
||||
|
||||
54
Makefile
54
Makefile
@@ -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)"
|
||||
|
||||
Reference in New Issue
Block a user