env: - GO111MODULE=on - CGO_ENABLED=0 before: hooks: - go mod download builds: - id: jx-linux-amd64 # Path to main.go file or main package. # Default is `.`. main: ./cmd/jx/jx.go # Binary name. # Can be a path (e.g. `bin/app`) to wrap the binary in a directory. # Default is the name of the project directory. binary: jx # Custom ldflags templates. # Default is `-s -w -X main.version={{.Version}} -X main.commit={{.ShortCommit}} -X main.date={{.Date}} -X main.builtBy=goreleaser`. ldflags: - -X "{{.Env.ROOTPACKAGE}}/pkg/version.Version={{.Env.VERSION}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.Revision={{.Env.REV}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.Branch={{.Env.BRANCH}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.BuildDate={{.Env.BUILDDATE}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.GoVersion={{.Env.GOVERSION}}" # GOOS list to build for. # For more info refer to: https://golang.org/doc/install/source#environment # Defaults are darwin and linux. goos: - linux # GOARCH to build for. # For more info refer to: https://golang.org/doc/install/source#environment # Defaults are 386 and amd64. goarch: - amd64 - id: jx-linux-arm # Path to main.go file or main package. # Default is `.`. main: ./cmd/jx/jx.go # Binary name. # Can be a path (e.g. `bin/app`) to wrap the binary in a directory. # Default is the name of the project directory. binary: jx # Custom ldflags templates. # Default is `-s -w -X main.version={{.Version}} -X main.commit={{.ShortCommit}} -X main.date={{.Date}} -X main.builtBy=goreleaser`. ldflags: - -X "{{.Env.ROOTPACKAGE}}/pkg/version.Version={{.Env.VERSION}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.Revision={{.Env.REV}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.Branch={{.Env.BRANCH}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.BuildDate={{.Env.BUILDDATE}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.GoVersion={{.Env.GOVERSION}}" # GOOS list to build for. # For more info refer to: https://golang.org/doc/install/source#environment # Defaults are darwin and linux. goos: - linux # GOARCH to build for. # For more info refer to: https://golang.org/doc/install/source#environment # Defaults are 386 and amd64. goarch: - arm - id: jx-darwin-amd64 # Path to main.go file or main package. # Default is `.`. main: ./cmd/jx/jx.go # Binary name. # Can be a path (e.g. `bin/app`) to wrap the binary in a directory. # Default is the name of the project directory. binary: jx # Custom ldflags templates. # Default is `-s -w -X main.version={{.Version}} -X main.commit={{.ShortCommit}} -X main.date={{.Date}} -X main.builtBy=goreleaser`. ldflags: - -X "{{.Env.ROOTPACKAGE}}/pkg/version.Version={{.Env.VERSION}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.Revision={{.Env.REV}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.Branch={{.Env.BRANCH}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.BuildDate={{.Env.BUILDDATE}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.GoVersion={{.Env.GOVERSION}}" # GOOS list to build for. # For more info refer to: https://golang.org/doc/install/source#environment # Defaults are darwin and linux. goos: - darwin # GOARCH to build for. # For more info refer to: https://golang.org/doc/install/source#environment # Defaults are 386 and amd64. goarch: - amd64 - id: jx-windows-amd64 # Path to main.go file or main package. # Default is `.`. main: ./cmd/jx/jx.go # Binary name. # Can be a path (e.g. `bin/app`) to wrap the binary in a directory. # Default is the name of the project directory. binary: jx # Custom ldflags templates. # Default is `-s -w -X main.version={{.Version}} -X main.commit={{.ShortCommit}} -X main.date={{.Date}} -X main.builtBy=goreleaser`. ldflags: - -X "{{.Env.ROOTPACKAGE}}/pkg/version.Version={{.Env.VERSION}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.Revision={{.Env.REV}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.Branch={{.Env.BRANCH}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.BuildDate={{.Env.BUILDDATE}}" -X "{{.Env.ROOTPACKAGE}}/pkg/version.GoVersion={{.Env.GOVERSION}}" # GOOS list to build for. # For more info refer to: https://golang.org/doc/install/source#environment # Defaults are darwin and linux. goos: - windows # GOARCH to build for. # For more info refer to: https://golang.org/doc/install/source#environment # Defaults are 386 and amd64. goarch: - amd64 archives: - name_template: "{{ .ProjectName }}-{{ .Os }}-{{ .Arch }}" format_overrides: - goos: windows format: zip checksum: # You can change the name of the checksums file. # Default is `{{ .ProjectName }}_{{ .Version }}_checksums.txt`. name_template: "{{ .ProjectName }}-checksums.txt" # Algorithm to be used. # Accepted options are sha256, sha512, sha1, crc32, md5, sha224 and sha384. # Default is sha256. algorithm: sha256 brews: - name: jx # Repository to push the tap to. github: owner: jenkins-x name: homebrew-jx # Template for the url. # Default is "https://github.com/<repo_owner>/<repo_name>/releases/download/{{ .Tag }}/{{ .ArtifactName }}" url_template: "http://github.com/jenkins-x/jx/releases/download/{{ .Tag }}/{{ .ArtifactName }}" # Git author used to commit to the repository. # Defaults are shown. commit_author: name: jenkins-x-bot email: jenkins-x-bot@jenkins-x.io folder: Formula homepage: "https://jenkins-x.io/" description: "A tool to install and interact with Jenkins X on your Kubernetes cluster." # Setting this will prevent goreleaser to actually try to commit the updated # formula - instead, the formula file will be stored on the dist folder only, # leaving the responsibility of publishing it to the user. # If set to auto, the release will not be uploaded to the homebrew tap # in case there is an indicator for prerelease in the tag e.g. v1.0.0-rc1 # Default is false. skip_upload: true # So you can `brew test` your formula. # Default is empty. test: | system "#{bin}/jx --version" # Custom install script for brew. # Default is 'bin.install "program"'. install: | bin.install name output = Utils.popen_read("SHELL=bash #{bin}/jx completion bash") (bash_completion/"jx").write output output = Utils.popen_read("SHELL=zsh #{bin}/jx completion zsh") (zsh_completion/"_jx").write output prefix.install_metafiles changelog: # set it to true if you wish to skip the changelog generation skip: true release: # If set to true, will not auto-publish the release. # Default is false. draft: false # If set to auto, will mark the release as not ready for production # in case there is an indicator for this in the tag e.g. v1.0.0-rc1 # If set to true, will mark the release as not ready for production. # Default is false. prerelease: true # You can change the name of the GitHub release. # Default is `{{.Tag}}` name_template: "{{.Env.VERSION}}"