summaryrefslogtreecommitdiff
path: root/.goreleaser.yml
diff options
context:
space:
mode:
authorMohammed Al Sahaf <msaa1990@gmail.com>2020-03-25 08:13:36 +0300
committerGitHub <noreply@github.com>2020-03-24 23:13:36 -0600
commit0fa1a3b630eccc15854c5ac2ecf95c856e22cbb3 (patch)
treee9f52a01cb368b4b30cd662926992cb0fb91c698 /.goreleaser.yml
parent169883868503c809c9ac9c8c1fe93c7deff9cd2e (diff)
ci: preliminary CD with goreleaser (#3173)
* chore: ci: preliminary CD support * chore: ci: split release process into its own workflow * chore: ci: cleanup the ci.yml and .goreleaser.yml * chore: ci: unshallowify the clone before searching for the closes tag * chore: tidy up goreleaser config & the release githubaction * chore: add --no-tty to gpg args * chore: more gpg args * chore: try with default gpg args by goreleaser * chore: gpg... * chore: set GPG_TTY * chore: preset gpg conf * Apply suggestions from code review chore: tidy up the .goreleaser.yml Co-Authored-By: Dave Henderson <dhenderson@gmail.com> * chore: gpg debugging * chore: set and export the tty for gpg * chore: gpg.. * chore: use the exact same line from goreleaser-action README for singing * chore: remove signing stanzas from ymls * chore: clean up the release action for final submission * quote the arguments of echo Co-Authored-By: Francis Lavoie <lavofr@gmail.com> Co-authored-by: Dave Henderson <dhenderson@gmail.com> Co-authored-by: Francis Lavoie <lavofr@gmail.com>
Diffstat (limited to '.goreleaser.yml')
-rw-r--r--.goreleaser.yml66
1 files changed, 66 insertions, 0 deletions
diff --git a/.goreleaser.yml b/.goreleaser.yml
new file mode 100644
index 0000000..c87ba6b
--- /dev/null
+++ b/.goreleaser.yml
@@ -0,0 +1,66 @@
+before:
+ hooks:
+ - mkdir -p caddy-build
+ - cp cmd/caddy/main.go caddy-build/main.go
+ - cp ./go.mod caddy-build/go.mod
+ - sed -i.bkp s/github.com\/caddyserver\/caddy\/v2/caddy/g ./caddy-build/go.mod
+ # GoReleaser doesn't seem to offer {{.Tag}} at this stage, so we have to embed it into the env
+ # so we run: TAG=$(git describe --abbrev=0) goreleaser release --rm-dist --skip-publish --skip-validate
+ - go mod edit -require=github.com/caddyserver/caddy/v2@{{.Env.TAG}} ./caddy-build/go.mod
+ - git clone --depth 1 https://github.com/caddyserver/dist caddy-dist
+ - go mod download
+builds:
+- env:
+ - CGO_ENABLED=0
+ - GO111MODULE=on
+ main: main.go
+ dir: ./caddy-build
+ binary: caddy
+ goos:
+ - darwin
+ - linux
+ - windows
+ - freebsd
+ goarch:
+ - amd64
+ - 386
+ - arm
+ - arm64
+ goarm:
+ - 6
+ - 7
+ ignore:
+ - goos: darwin
+ goarch: 386
+ - goos: darwin
+ goarch: arm
+ flags:
+ - -trimpath
+ ldflags:
+ - -s -w
+archives:
+ - format_overrides:
+ - goos: windows
+ format: zip
+ replacements:
+ darwin: macOS
+ linux: Linux
+ windows: Windows
+ 386: i386
+ amd64: x86_64
+checksum:
+ algorithm: sha512
+release:
+ github:
+ owner: caddyserver
+ name: caddy
+ draft: true
+ prerelease: auto
+changelog:
+ sort: asc
+ filters:
+ exclude:
+ - '^docs:'
+ - '^test:'
+ - '^chore:'
+ - '^\w+\s+' # a hack to remove commit messages without colons thus don't correspond to a package