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
|
command: goreleaser
|
||||||
workflows:
|
workflows:
|
||||||
version: 2
|
version: 2
|
||||||
|
build:
|
||||||
|
jobs:
|
||||||
|
- build:
|
||||||
|
filters:
|
||||||
|
branches:
|
||||||
|
only: /.*/
|
||||||
|
tags:
|
||||||
|
ignore: /^[0-9]+(\.[0-9]+)*/
|
||||||
build-and-release:
|
build-and-release:
|
||||||
jobs:
|
jobs:
|
||||||
- build:
|
- build:
|
||||||
filters:
|
filters:
|
||||||
|
branches:
|
||||||
|
ignore: /.*/
|
||||||
tags:
|
tags:
|
||||||
only: /.*/
|
only: /^[0-9]+(\.[0-9]+)*/
|
||||||
- release:
|
- release:
|
||||||
requires:
|
requires:
|
||||||
- build
|
- build
|
||||||
|
|||||||
@@ -8,7 +8,10 @@ ADD . /go/src/github.com/jimeh/casecmp
|
|||||||
RUN set -e \
|
RUN set -e \
|
||||||
&& dep ensure \
|
&& dep ensure \
|
||||||
&& CGO_ENABLED=0 go build -a -o /casecmp \
|
&& 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
|
FROM scratch
|
||||||
@@ -16,4 +19,4 @@ COPY --from=builder /casecmp /
|
|||||||
ENV PORT 8080
|
ENV PORT 8080
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
CMD ["/casecmp"]
|
ENTRYPOINT ["/casecmp"]
|
||||||
|
|||||||
54
Makefile
54
Makefile
@@ -1,38 +1,17 @@
|
|||||||
NAME = casecmp
|
NAME = casecmp
|
||||||
BINARY = bin/${NAME}
|
BINARY = bin/${NAME}
|
||||||
|
|
||||||
VERSION ?= $(shell cat VERSION)
|
VERSION ?= $(shell cat VERSION)
|
||||||
COMMIT = $(shell git show --format="%h" --no-patch)
|
|
||||||
DATE = $(shell date +%Y-%m-%dT%T%z)
|
|
||||||
|
|
||||||
SOURCES = $(shell find . \
|
SOURCES = $(shell find . \
|
||||||
-name '*.go' \
|
-name '*.go' \
|
||||||
-o -name 'LICENSE' \
|
|
||||||
-o -name 'Makefile' \
|
-o -name 'Makefile' \
|
||||||
-o -name 'README.md' \
|
|
||||||
-o -name 'VERSION')
|
-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)
|
$(BINARY): $(SOURCES)
|
||||||
go build -o ${BINARY} -ldflags \ "\
|
CGO_ENABLED=0 go build -a -o ${BINARY} -ldflags \ "\
|
||||||
|
-s -w \
|
||||||
-X main.version=${VERSION} \
|
-X main.version=${VERSION} \
|
||||||
-X main.commit=${COMMIT} \
|
-X main.commit=$(shell git show --format="%h" --no-patch) \
|
||||||
-X main.date=${DATE}"
|
-X main.date=$(shell date +%Y-%m-%dT%T%z)"
|
||||||
|
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
build: $(BINARY)
|
build: $(BINARY)
|
||||||
@@ -50,28 +29,3 @@ clean:
|
|||||||
.PHONY: docker
|
.PHONY: docker
|
||||||
docker:
|
docker:
|
||||||
docker build -t "$(shell whoami)/$(NAME)" .
|
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)"
|
|
||||||
|
|||||||
2
main.go
2
main.go
@@ -101,7 +101,7 @@ func startServer() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
address := *bindFlag + ":" + *portFlag
|
address := *bindFlag + ":" + *portFlag
|
||||||
fmt.Println("Listening on " + address)
|
fmt.Printf("Listening on %s\n", address)
|
||||||
log.Fatal(http.ListenAndServe(address, nil))
|
log.Fatal(http.ListenAndServe(address, nil))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user