From b6ea5fbb50caf755485cb4b7fca9812a7a873e20 Mon Sep 17 00:00:00 2001 From: jolheiser Date: Mon, 10 Oct 2022 11:52:00 -0500 Subject: [PATCH] add goreleaser Signed-off-by: jolheiser --- .goreleaser.yaml | 25 ++++++++++++++++++++++++ .woodpecker/goreleaser.yml | 39 ++++++++++++++++++++++++++++++++++++++ main.go | 11 ++++++++++- 3 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 .goreleaser.yaml create mode 100644 .woodpecker/goreleaser.yml diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 0000000..d193e14 --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,25 @@ +builds: + - env: + - CGO_ENABLED=0 + goos: + - linux + - windows + - darwin + ldflags: + - "-s -w -X main.Version={{.Version}}" +archives: + - replacements: + 386: i386 + amd64: x86_64 + format_overrides: + - goos: windows + format: zip +checksum: + name_template: 'checksums.txt' +release: + gitea: + owner: jolheiser + name: caniuse +gitea_urls: + api: https://git.jojodev.com/api/v1/ + download: https://git.jojodev.com diff --git a/.woodpecker/goreleaser.yml b/.woodpecker/goreleaser.yml new file mode 100644 index 0000000..b8be279 --- /dev/null +++ b/.woodpecker/goreleaser.yml @@ -0,0 +1,39 @@ +clone: + git: + image: woodpeckerci/plugin-git + settings: + tags: true + +pipeline: + compliance: + image: golang:1.18 + commands: + - go test -race ./... + - go vet ./... + - go run github.com/rs/zerolog/cmd/lint@latest go.jolheiser.com/caniuse + when: + event: pull_request + + build: + image: goreleaser/goreleaser + commands: + - goreleaser build --snapshot + when: + event: pull_request + + release: + image: goreleaser/goreleaser + commands: + - goreleaser release + secrets: [ gitea_token ] + when: + event: tag + + prune: + image: jolheiser/drone-gitea-prune + settings: + base: https://git.jojodev.com + token: + from_secret: gitea_token + when: + event: tag diff --git a/main.go b/main.go index 759d892..6e7b7ca 100644 --- a/main.go +++ b/main.go @@ -19,6 +19,7 @@ import ( ) var ( + Version = "develop" resultmap = map[string]string{ "y": "✔", "n": "✘", @@ -44,11 +45,19 @@ var ( func main() { fs := flag.NewFlagSet("caniuse", flag.ContinueOnError) + versionFlag := fs.Bool("version", false, "Show the CLI version and exit") + fs.BoolVar(versionFlag, "v", *versionFlag, "--version") if err := ff.Parse(fs, os.Args[1:], ff.WithEnvVarPrefix("CANIUSE"), ); err != nil { - panic(err) + fmt.Println(err) + return + } + + if *versionFlag { + fmt.Printf("caniuse %s", Version) + return } if fs.NArg() != 1 {