-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathbuild.sh
36 lines (30 loc) · 1.15 KB
/
build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
version=${1:-"0.7.0"}
mkdir -p bin
rm -rf bin/*
go mod tidy
golangci_version=$(golangci-lint --version 2> /dev/null)
if [ -z "$golangci_version" ]; then
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
fi
gocritic_version=$(gocritic --version 2> /dev/null)
if [ -z "$gocritic_version" ]; then
go install -v github.com/go-critic/go-critic/cmd/gocritic@latest
fi
golangci_check=$(golangci-lint run ./... --build-tags=buildvcs=false)
gocritic_check=$(gocritic check -enableAll ./...)
if [ -n "$golangci_check" ]; then
echo "$golangci_check"
elif [ -n "$gocritic_check" ]; then
echo "$gocritic_check"
else
architectures=(amd64 arm64)
for arch in "${architectures[@]}"; do
GOOS=linux GOARCH=$arch go build -o bin/lazyjournal-$version-linux-$arch
GOOS=darwin GOARCH=$arch go build -o bin/lazyjournal-$version-darwin-$arch
GOOS=openbsd GOARCH=$arch go build -o bin/lazyjournal-$version-openbsd-$arch
GOOS=freebsd GOARCH=$arch go build -o bin/lazyjournal-$version-freebsd-$arch
GOOS=windows GOARCH=$arch go build -o bin/lazyjournal-$version-windows-$arch.exe
done
ls -lh bin
fi