Start making builds with goreleaser

This commit is contained in:
Daniel Oaks 2018-01-07 12:21:44 +10:00
parent e38d42c1ce
commit 7f06f25c15
4 changed files with 49 additions and 46 deletions

1
.gitignore vendored
View File

@ -108,3 +108,4 @@ _testmain.go
_test _test
oragono.prof oragono.prof
oragono.mprof oragono.mprof
/dist

44
.goreleaser.yml Normal file
View File

@ -0,0 +1,44 @@
# .goreleaser.yml
# Build customization
project_name: oragono
builds:
- main: oragono.go
binary: oragono
goos:
- freebsd
- windows
- darwin
- linux
goarch:
- amd64
- arm
- arm64
goarm:
- 6
- 7
ignore:
- goos: windows
goarch: arm
- goos: darwin
goarch: arm
- goos: freebsd
goarch: arm
- goos: freebsd
goarch: arm64
archive:
name_template: "{{ .ProjectName }}-{{ .Version }}-{{ .Os }}{{ if .Arm }}-{{ .Arch }}v{{ .Arm }}{{ end }}"
format: tar.gz
replacements:
amd64: x64
darwin: osx
format_overrides:
- goos: windows
format: zip
files:
- README
- CHANGELOG.md
- oragono.motd
- oragono.yaml
- docs/*
checksum:
name_template: "{{ .ProjectName }}-{{ .Version }}-checksums.txt"

View File

@ -1,55 +1,13 @@
BUILD=./build .PHONY: all clean build
WIN=$(BUILD)/win
LINUX=$(BUILD)/linux
OSX=$(BUILD)/osx
ARM6=$(BUILD)/arm
SOURCE=oragono.go
VERS=XXX
.PHONY: all clean windows osx linux arm6 all: clean build
add-files = mkdir -p $1; \
cp oragono.yaml $1; \
cp oragono.motd $1; \
cp LICENSE $1; \
cp ./docs/README $1; \
mkdir -p $1/docs; \
cp ./CHANGELOG.md $1/docs/; \
cp ./docs/*.md $1/docs/; \
cp ./docs/logo* $1/docs/;
all: clean windows osx linux arm6
clean: clean:
rm -rf $(BUILD) rm -rf $(BUILD)
mkdir -p $(BUILD) mkdir -p $(BUILD)
windows: build:
GOOS=windows GOARCH=amd64 go build $(SOURCE) goreleaser --snapshot --rm-dist
$(call add-files,$(WIN))
mv oragono.exe $(WIN)
cd $(WIN) && zip -r ../oragono-$(VERS)-windows.zip *
osx:
GOOS=darwin GOARCH=amd64 go build $(SOURCE)
$(call add-files,$(OSX))
mv oragono $(OSX)
cd $(OSX) && tar -czvf ../oragono-$(VERS)-osx.tgz *
linux:
GOOS=linux GOARCH=amd64 go build $(SOURCE)
$(call add-files,$(LINUX))
mv oragono $(LINUX)
cd $(LINUX) && tar -czvf ../oragono-$(VERS)-linux.tgz *
arm6:
GOARM=6 GOARCH=arm go build $(SOURCE)
$(call add-files,$(ARM6))
mv oragono $(ARM6)
cd $(ARM6) && tar -czvf ../oragono-$(VERS)-arm.tgz *
deps:
go get -v -d
test: test:
cd irc && go test . cd irc && go test .

View File