Add a release system. (#550)
* feat: add release system. * feat: goreleaser. * review: minor changes.
This commit is contained in:
parent
8e9c5ac3e6
commit
3cc9a19a1c
5 changed files with 86 additions and 16 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -2,3 +2,5 @@ lego.exe
|
|||
lego
|
||||
.lego
|
||||
.idea
|
||||
dist/
|
||||
builds/
|
||||
|
|
38
.goreleaser.yml
Normal file
38
.goreleaser.yml
Normal file
|
@ -0,0 +1,38 @@
|
|||
project_name: lego
|
||||
|
||||
builds:
|
||||
- binary: lego
|
||||
goos:
|
||||
- windows
|
||||
- darwin
|
||||
- linux
|
||||
- freebsd
|
||||
- openbsd
|
||||
- solaris
|
||||
goarch:
|
||||
- amd64
|
||||
- 386
|
||||
- arm
|
||||
- arm64
|
||||
goarm:
|
||||
- 7
|
||||
|
||||
ignore:
|
||||
- goos: darwin
|
||||
goarch: 386
|
||||
- goos: openbsd
|
||||
goarch: arm
|
||||
|
||||
archive:
|
||||
name_template: '{{ .ProjectName }}_v{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm
|
||||
}}v{{ .Arm }}{{ end }}'
|
||||
format: tar.gz
|
||||
format_overrides:
|
||||
- goos: windows
|
||||
format: zip
|
||||
files:
|
||||
- LICENSE
|
||||
- CHANGELOG.md
|
||||
|
||||
release:
|
||||
disable: true
|
37
.travis.yml
37
.travis.yml
|
@ -1,16 +1,35 @@
|
|||
language: go
|
||||
|
||||
go:
|
||||
- 1.8.x
|
||||
- 1.9.x
|
||||
- tip
|
||||
- 1.9.x
|
||||
- 1.x
|
||||
|
||||
services:
|
||||
- memcached
|
||||
|
||||
env:
|
||||
- MEMCACHED_HOSTS=localhost:11211
|
||||
install:
|
||||
- go get -t ./...
|
||||
script:
|
||||
- go vet ./...
|
||||
- go test -v ./...
|
||||
|
||||
before_install:
|
||||
- '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && openssl aes-256-cbc -K $encrypted_26c593b079d9_key -iv $encrypted_26c593b079d9_iv -in .gitcookies.enc -out .gitcookies -d || true'
|
||||
- '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && openssl aes-256-cbc -K $encrypted_26c593b079d9_key -iv $encrypted_26c593b079d9_iv -in .gitcookies.enc -out .gitcookies -d || true'
|
||||
|
||||
install:
|
||||
- go get -t ./...
|
||||
|
||||
deploy:
|
||||
- provider: script
|
||||
skip_cleanup: true
|
||||
script: curl -sL https://git.io/goreleaser | bash
|
||||
on:
|
||||
tags: true
|
||||
condition: $TRAVIS_GO_VERSION =~ ^1\.10\.[0-9]+$
|
||||
|
||||
- provider: releases
|
||||
api_key: ${GITHUB_TOKEN}
|
||||
file: dist/lego_*
|
||||
skip_cleanup: true
|
||||
overwrite: true
|
||||
file_glob: true
|
||||
on:
|
||||
tags: true
|
||||
condition: $TRAVIS_GO_VERSION =~ ^1\.10\.[0-9]+$
|
||||
|
|
15
Makefile
Normal file
15
Makefile
Normal file
|
@ -0,0 +1,15 @@
|
|||
.PHONY: all
|
||||
|
||||
default: clean checks test build
|
||||
|
||||
test: clean
|
||||
go test -v -cover ./...
|
||||
|
||||
clean:
|
||||
rm -rf dist/ builds/ cover.out
|
||||
|
||||
checks:
|
||||
go vet ./...
|
||||
|
||||
build: clean
|
||||
go build
|
10
cli.go
10
cli.go
|
@ -7,7 +7,6 @@ import (
|
|||
"log"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
"text/tabwriter"
|
||||
|
||||
"github.com/urfave/cli"
|
||||
|
@ -25,18 +24,15 @@ func logger() *log.Logger {
|
|||
return Logger
|
||||
}
|
||||
|
||||
var gittag string
|
||||
var (
|
||||
version = "dev"
|
||||
)
|
||||
|
||||
func main() {
|
||||
app := cli.NewApp()
|
||||
app.Name = "lego"
|
||||
app.Usage = "Let's Encrypt client written in Go"
|
||||
|
||||
version := "0.4.1"
|
||||
if strings.HasPrefix(gittag, "v") {
|
||||
version = gittag
|
||||
}
|
||||
|
||||
app.Version = version
|
||||
|
||||
acme.UserAgent = "lego/" + app.Version
|
||||
|
|
Loading…
Reference in a new issue