mirror of
https://github.com/caddyserver/xcaddy.git
synced 2024-11-03 07:50:30 +00:00
220c0dbbdc
cmd: Sync up release jobs with caddy repo ci: fix the build dir for xcaddy goreleaser flow
106 lines
2.5 KiB
YAML
106 lines
2.5 KiB
YAML
before:
|
|
hooks:
|
|
# The build is done in this particular way to build xcaddy 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/xcaddy 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 xcaddy-build
|
|
- cp cmd/xcaddy/main.go xcaddy-build/main.go
|
|
- cp ./go.mod xcaddy-build/go.mod
|
|
- sed -i.bkp 's|github.com/caddyserver/xcaddy|xcaddy|g' ./xcaddy-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/xcaddy@{{.Env.TAG}} ./xcaddy-build/go.mod
|
|
# as of Go 1.16, `go` commands no longer automatically change go.{mod,sum}. We now have to explicitly
|
|
# run `go mod tidy`. The `/bin/sh -c '...'` is because goreleaser can't find cd in PATH without shell invocation.
|
|
- /bin/sh -c 'cd ./xcaddy-build && go mod tidy'
|
|
- go mod download
|
|
|
|
builds:
|
|
- env:
|
|
- CGO_ENABLED=0
|
|
- GO111MODULE=on
|
|
main: main.go
|
|
dir: ./xcaddy-build
|
|
binary: xcaddy
|
|
goos:
|
|
- darwin
|
|
- linux
|
|
- windows
|
|
- freebsd
|
|
goarch:
|
|
- amd64
|
|
- arm
|
|
- arm64
|
|
- s390x
|
|
- ppc64le
|
|
goarm:
|
|
- 5
|
|
- 6
|
|
- 7
|
|
ignore:
|
|
- goos: darwin
|
|
goarch: arm
|
|
- goos: darwin
|
|
goarch: ppc64le
|
|
- goos: darwin
|
|
goarch: s390x
|
|
- goos: windows
|
|
goarch: ppc64le
|
|
- goos: windows
|
|
goarch: s390x
|
|
- goos: freebsd
|
|
goarch: ppc64le
|
|
- goos: freebsd
|
|
goarch: s390x
|
|
- goos: freebsd
|
|
goarch: arm
|
|
goarm: 5
|
|
flags:
|
|
- -trimpath
|
|
ldflags:
|
|
- -s -w
|
|
|
|
archives:
|
|
- format_overrides:
|
|
- goos: windows
|
|
format: zip
|
|
replacements:
|
|
darwin: mac
|
|
checksum:
|
|
algorithm: sha512
|
|
|
|
nfpms:
|
|
- id: default
|
|
package_name: xcaddy
|
|
|
|
vendor: Light Code Labs
|
|
homepage: https://caddyserver.com
|
|
maintainer: Matthew Holt <mholt@users.noreply.github.com>
|
|
description: |
|
|
Build Caddy with plugins
|
|
license: Apache 2.0
|
|
|
|
formats:
|
|
- deb
|
|
# - rpm
|
|
|
|
bindir: /usr/bin
|
|
|
|
release:
|
|
github:
|
|
owner: caddyserver
|
|
name: xcaddy
|
|
draft: false
|
|
prerelease: auto
|
|
|
|
changelog:
|
|
sort: asc
|
|
filters:
|
|
exclude:
|
|
- '^readme:'
|
|
- '^chore:'
|
|
- '^ci:'
|
|
- '^docs?:'
|
|
- '^tests?:'
|