Merge pull request #25 from davidnewhall/dn2_more_fixes

Make Travis CI build the linux packages.
This commit is contained in:
David Newhall II 2019-06-05 02:16:35 -07:00 committed by GitHub
commit f206497570
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 60 additions and 15 deletions

BIN
.github_deploy_key.enc Normal file

Binary file not shown.

41
.travis.yml Normal file
View File

@ -0,0 +1,41 @@
language: go
addons:
apt:
packages:
- ruby-dev
- rpm
- build-essential
- git
- libgnome-keyring-dev
- fakeroot
go:
- 1.12.x
env:
- PATH=${PATH}:/home/travis/.gem/ruby/2.4.0/bin
before_install:
# This deploy is not used atm.
- openssl aes-256-cbc -K $encrypted_9f3147001275_key -iv $encrypted_9f3147001275_iv -in .github_deploy_key.enc -out github_deploy_key -d
- chmod 600 github_deploy_key
- eval $(ssh-agent -s)
- ssh-add github_deploy_key
# Download the `dep` binary to bin folder in $GOPATH
- curl -L -s https://github.com/golang/dep/releases/download/v0.5.3/dep-linux-amd64 -o $GOPATH/bin/dep
- chmod +x $GOPATH/bin/dep
# download super-linter: golangci-lint
- curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin latest
install:
- dep ensure
- gem install --no-document ronn fpm
script:
- make release
deploy:
provider: releases
api_key:
secure: GsvW0m+EnRELQMk8DjH63VXinqbwse4FJ4vNUslOE6CZ8PBXPrH0ZgaI7ic/uxRtm7CYj0sir4CZq62W5l6uhoXCCQfjOnmJspqnQcrFZ1xRdWktsNXaRwM6hlzaUThsJ/1PD9Psc66uKXBYTg0IlUz0yjZAZk7tCUE4libuj41z40ZKxUcbfcNvH4Njc9IpNB4QSA3ss+a9/6ZwBz4tHVamsGIrzaE0Zf99ItNBYvaOwhM2rC/NWIsFmwt8w4rIA2NIrkZgMDV+Z2Niqh4JRLAWCQNx/RjC5U52lG2yhqivUC3TromZ+q4O4alUltsyIzF2nVanLWgJmbeFo8uXT5A+gd3ovSkFLU9medXd9i4kap7kN/o5m9p5QZvrdEYHEmIU4ml5rjT2EQQVy5CtSmpiRAbhpEJIvA1wDtRq8rdz8IVfJXkHNjg2XdouNmMMWqa3OkEPw21+uxsqv4LscW/6ZjsavzL5SSdnBRU9n79EfGJE/tJLKiNumah/vLuJ5buNhgqmCdtX/Tg+DhQS1BOyYg4l4L8s9IIKZgFRwrOPsZnA/KsrWg4ZsjJ87cqKCaT/qs2EJx5odZcZWJYLBngeO8Tc6cQtLgJdieY2oEKo51Agq4rgikZDt21m6TY9/R5lPN0piwdpy3ZGKfv1ijXx74raMT03qskputzMCvc=
overwrite: true
skip_cleanup: true
file_glob: true
file: build_assets/*
on:
repo: davidnewhall/unifi-poller
tags: true

View File

@ -1,35 +1,39 @@
PACKAGES=`find ./cmd -mindepth 1 -maxdepth 1 -type d`
PACKAGE=./cmd/unifi-poller
BINARY=unifi-poller
VERSION=`git tag -l --merged | tail -n1`
all: man unifi-poller
# Prepare a release. Called in Travis CI.
release: clean test man linux macos rpm deb
mkdir -p build_assets
gzip -9k unifi-poller.linux
gzip -9k unifi-poller.macos
mv unifi-poller.macos.gz unifi-poller.linux.gz build_assets/
cp *.rpm *.deb build_assets/
clean:
for p in $(PACKAGES); do rm -f `echo $${p}|cut -d/ -f3`{.macos,.linux,.1,}{,.gz}; done
for p in $(PACKAGES); do rm -f `echo $${p}|cut -d/ -f3`{_,-}*.{deb,rpm,pkg}; done
rm -rf package_build
rm -f `echo $(PACKAGE)|cut -d/ -f3`{.macos,.linux,.1,}{,.gz}
rm -f `echo $(PACKAGE)|cut -d/ -f3`{_,-}*.{deb,rpm,pkg}
rm -rf package_build build_assets
build: unifi-poller
unifi-poller:
for p in $(PACKAGES); do go build -ldflags "-w -s -X main.Version=$(VERSION)" $${p}; done
go build -ldflags "-w -s -X main.Version=$(VERSION)" $(PACKAGE)
linux: unifi-poller.linux
unifi-poller.linux:
for p in $(PACKAGES); do GOOS=linux go build -o unifi-poller.linux -ldflags "-w -s -X main.Version=$(VERSION)" $${p}; done
GOOS=linux go build -o unifi-poller.linux -ldflags "-w -s -X main.Version=$(VERSION)" $(PACKAGE)
darwin: unifi-poller.macos
macos: unifi-poller.macos
unifi-poller.macos:
for p in $(PACKAGES); do GOOS=darwin go build -o unifi-poller.macos -ldflags "-w -s -X main.Version=$(VERSION)" $${p}; done
GOOS=darwin go build -o unifi-poller.macos -ldflags "-w -s -X main.Version=$(VERSION)" $(PACKAGE)
test: lint
for p in $(PACKAGES) $(LIBRARYS); do go test -race -covermode=atomic $${p}; done
go test -race -covermode=atomic $(PACKAGE)
lint:
goimports -l $(PACKAGES)
gofmt -l $(PACKAGES)
errcheck $(PACKAGES)
golint $(PACKAGES)
go vet $(PACKAGES)
golangci-lint run --enable-all -D gochecknoglobals
man: unifi-poller.1.gz
unifi-poller.1.gz:
@ -41,7 +45,7 @@ rpm: man linux
deb: man linux
scripts/build_linux_packages.sh deb
osxpkg: man darwin
osxpkg: man macos
scripts/build_osx_package.sh
install: man