-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added PR template (closes #14) and tools
- Loading branch information
Showing
4 changed files
with
144 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<!-- < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < ☺ | ||
v ✰ Thanks for creating a PR! ✰ | ||
v Before smashing the submit button please review the checkboxes. | ||
v If a checkbox is n/a - please still include it but + a little note why | ||
☺ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --> | ||
|
||
## Checklist | ||
- [ ] Targeted PR against correct branch | ||
- [ ] Linked to github-issue with discussion and accepted design OR link to spec that describes this work. | ||
- [ ] Wrote tests | ||
- [ ] Updated relevant documentation (`docs/`) | ||
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` | ||
- [ ] Re-reviewed `Files changed` in the Github PR explorer | ||
|
||
______ | ||
|
||
For Admin Use: | ||
- [ ] Added appropriate labels to PR (ex. wip, ready-for-review, docs) | ||
- [ ] Reviewers Assigned | ||
- [ ] Squashed all commits, uses message "Merge pull request #XYZ: [title]" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
### | ||
# Find OS and Go environment | ||
# GO contains the Go binary | ||
# FS contains the OS file separator | ||
### | ||
ifeq ($(OS),Windows_NT) | ||
GO := $(shell where go.exe 2> NUL) | ||
FS := "\\" | ||
else | ||
GO := $(shell command -v go 2> /dev/null) | ||
FS := "/" | ||
endif | ||
|
||
ifeq ($(GO),) | ||
$(error could not find go. Is it in PATH? $(GO)) | ||
endif | ||
|
||
GOPATH ?= $(shell $(GO) env GOPATH) | ||
GITHUBDIR := $(GOPATH)$(FS)src$(FS)github.com | ||
GOLANGCI_LINT_HASHSUM := 8d21cc95da8d3daf8321ac40091456fc26123c964d7c2281d339d431f2f4c840 | ||
|
||
### | ||
# Functions | ||
### | ||
|
||
go_get = $(if $(findstring Windows_NT,$(OS)),\ | ||
IF NOT EXIST $(GITHUBDIR)$(FS)$(1)$(FS) ( mkdir $(GITHUBDIR)$(FS)$(1) ) else (cd .) &\ | ||
IF NOT EXIST $(GITHUBDIR)$(FS)$(1)$(FS)$(2)$(FS) ( cd $(GITHUBDIR)$(FS)$(1) && git clone https://github.com/$(1)/$(2) ) else (cd .) &\ | ||
,\ | ||
mkdir -p $(GITHUBDIR)$(FS)$(1) &&\ | ||
(test ! -d $(GITHUBDIR)$(FS)$(1)$(FS)$(2) && cd $(GITHUBDIR)$(FS)$(1) && git clone https://github.com/$(1)/$(2)) || true &&\ | ||
)\ | ||
cd $(GITHUBDIR)$(FS)$(1)$(FS)$(2) && git fetch origin && git checkout -q $(3) | ||
|
||
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST))) | ||
mkfile_dir := $(shell cd $(shell dirname $(mkfile_path)); pwd) | ||
|
||
### | ||
# tools | ||
### | ||
|
||
TOOLS_DESTDIR ?= $(GOPATH)/bin | ||
|
||
GOLANGCI_LINT = $(TOOLS_DESTDIR)/golangci-lint | ||
STATIK = $(TOOLS_DESTDIR)/statik | ||
RUNSIM = $(TOOLS_DESTDIR)/runsim | ||
|
||
all: tools | ||
|
||
tools: statik runsim golangci-lint | ||
|
||
golangci-lint: $(GOLANGCI_LINT) | ||
$(GOLANGCI_LINT): $(mkfile_dir)/install-golangci-lint.sh | ||
@echo "Installing golangci-lint..." | ||
@bash $(mkfile_dir)/install-golangci-lint.sh $(TOOLS_DESTDIR) $(GOLANGCI_LINT_HASHSUM) | ||
|
||
# Install the runsim binary with a temporary workaround of entering an outside | ||
# directory as the "go get" command ignores the -mod option and will polute the | ||
# go.{mod, sum} files. | ||
# | ||
# ref: https://github.com/golang/go/issues/30515 | ||
statik: $(STATIK) | ||
$(STATIK): | ||
@echo "Installing statik..." | ||
@(cd /tmp && go get github.com/rakyll/statik@v0.1.6) | ||
|
||
# Install the runsim binary with a temporary workaround of entering an outside | ||
# directory as the "go get" command ignores the -mod option and will polute the | ||
# go.{mod, sum} files. | ||
# | ||
# ref: https://github.com/golang/go/issues/30515 | ||
runsim: $(RUNSIM) | ||
$(RUNSIM): | ||
@echo "Installing runsim..." | ||
@(cd /tmp && go get github.com/cosmos/tools/cmd/runsim@v1.0.0) | ||
|
||
tools-clean: | ||
rm -f $(STATIK) $(GOLANGCI_LINT) $(RUNSIM) | ||
rm -f tools-stamp | ||
|
||
.PHONY: all tools tools-clean |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
#!/bin/bash | ||
|
||
set -euo pipefail | ||
|
||
installer="$(mktemp)" | ||
trap "rm -f ${installer}" EXIT | ||
|
||
GOBIN="${1}" | ||
CURL="$(which curl)" | ||
HASHSUM="${2}" | ||
|
||
f_sha256() { | ||
local l_file | ||
l_file=$1 | ||
python -sBc "import hashlib;print(hashlib.sha256(open('$l_file','rb').read()).hexdigest())" | ||
} | ||
|
||
get_latest_release() { | ||
"${CURL}" --silent "https://api.github.com/repos/$1/releases/latest" | \ | ||
grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | ||
} | ||
|
||
VERSION="$(get_latest_release golangci/golangci-lint)" | ||
|
||
echo "Downloading golangci-lint ${VERSION} installer ..." >&2 | ||
"${CURL}" -sfL "https://raw.githubusercontent.com/golangci/golangci-lint/${VERSION}/install.sh" > "${installer}" | ||
|
||
echo "Checking hashsum ..." >&2 | ||
[ "${HASHSUM}" = "$(f_sha256 ${installer})" ] | ||
chmod +x "${installer}" | ||
|
||
echo "Launching installer ..." >&2 | ||
exec "${installer}" -d -b "${GOBIN}" "${VERSION}" |