From 0fa1a3b630eccc15854c5ac2ecf95c856e22cbb3 Mon Sep 17 00:00:00 2001 From: Mohammed Al Sahaf Date: Wed, 25 Mar 2020 08:13:36 +0300 Subject: 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 * 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 Co-authored-by: Dave Henderson Co-authored-by: Francis Lavoie --- .goreleaser.yml | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .goreleaser.yml (limited to '.goreleaser.yml') 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 -- cgit v1.2.3