summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.goreleaser.yml14
1 files changed, 10 insertions, 4 deletions
diff --git a/.goreleaser.yml b/.goreleaser.yml
index 325baf2..db9760a 100644
--- a/.goreleaser.yml
+++ b/.goreleaser.yml
@@ -1,10 +1,16 @@
before:
hooks:
- - cp ./go.mod ./cmd/caddy/go.mod
- - sed -i.bkp 's|github.com/caddyserver/caddy/v2|caddy|g' ./cmd/caddy/go.mod
+ # The build is done in this particular way to build Caddy in a designated directory named in .gitignore.
+ # This is so we can run goreleaser on tag without Git complaining of being dirty. The main.go in cmd/caddy directory
+ # cannot be built within that directory due to changes necessary for the build causing Git to be dirty, which
+ # subsequently causes gorleaser to refuse running.
+ - 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}} ./cmd/caddy/go.mod
+ - 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
@@ -13,7 +19,7 @@ builds:
- CGO_ENABLED=0
- GO111MODULE=on
main: main.go
- dir: ./cmd/caddy
+ dir: ./caddy-build
binary: caddy
goos:
- darwin