sq/.goreleaser.yml
2023-08-20 08:14:28 -06:00

274 lines
7.6 KiB
YAML

before:
hooks:
- go mod tidy
- ./.completions.sh
- ./.manpages.sh
builds:
- builder: prebuilt
goos:
- linux
- windows
- darwin
goarch:
- amd64
- arm64
goamd64:
- v1
ignore:
- goos: windows
goarch: arm64
prebuilt:
path: dist-{{ .Os }}/sq_{{ .Os }}_{{ .Arch }}{{ with .Amd64 }}_{{ . }}{{ end }}/sq{{ .Ext }}
binary: sq
archives:
-
# name_template: "{{.ProjectName}}-{{ .Version }}-{{.Os}}-{{.Arch}}"
name_template: >-
{{.ProjectName}}-{{ .Version }}-{{- if eq .Os "darwin" }}macos{{- else }}{{ .Arch }}{{ end }}-{{.Arch}}
# replacements:
# darwin: macos
format_overrides:
- goos: windows
format: zip
files:
- README.md
- LICENSE
- CHANGELOG.md
- completions/*
- manpages/*
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ .Tag }}-snapshot"
changelog:
skip: true
release:
github:
owner: neilotoole
name: sq
draft: false
prerelease: auto
brews:
-
homepage: "https://github.com/neilotoole/sq"
description: "sq data wrangler"
license: MIT
repository:
owner: neilotoole
name: homebrew-sq
commit_author:
name: neilotoole
email: neilotoole@apache.org
install: |
bin.install "sq"
bash_completion.install "completions/sq.bash" => "sq"
zsh_completion.install "completions/sq.zsh" => "_sq"
fish_completion.install "completions/sq.fish"
man1.install "manpages/sq.1.gz"
test: |
system "#{bin}/sq --version"
scoops:
- repository:
owner: neilotoole
name: sq
homepage: "https://sq.io"
description: "sq data wrangler"
license: MIT
commit_author:
name: neilotoole
email: neilotoole@apache.org
nfpms:
-
formats:
- apk
- deb
- rpm
- termux.deb
- archlinux
vendor: "neilotoole"
maintainer: "neilotoole <neilotoole@apache.org>"
homepage: "https://sq.io"
description: "sq data wrangler"
license: "MIT"
contents:
- src: ./completions/sq.bash
dst: /usr/share/bash-completion/completions/sq
file_info:
mode: 0644
- src: ./completions/sq.fish
dst: /usr/share/fish/vendor_completions.d/sq.fish
file_info:
mode: 0644
- src: ./completions/sq.zsh
dst: /usr/share/zsh/vendor-completions/_sq
file_info:
mode: 0644
- src: ./manpages/sq.1.gz
dst: /usr/share/man/man1/sq.1.gz
file_info:
mode: 0644
furies:
# Upload deb and rpm to fury.io. Requires that envar $FURY_TOKEN be set.
- account: neilotoole
aurs:
-
# The package name.
#
# Defaults to the Project Name with a -bin suffix.
#
# Note that since this integration does not create a PKGBUILD to build from
# source, per Arch's guidelines.
# That said, GoReleaser will enforce a `-bin` suffix if it's not present.
name: sq-bin
# Your app's homepage.
# Default is empty.
homepage: "https://sq.io"
# Template of your app's description.
# Default is empty.
description: "sq data wrangler"
# The maintainers of the package.
# Defaults to empty.
maintainers:
- 'neilotoole <neilotoole@apache.org>'
- 'Diego Souza <diegosouza.br@gmail.com>'
# The contributors of the package.
# Defaults to empty.
contributors:
- 'neilotoole <neilotoole@apache.org>'
# SPDX identifier of your app's license.
# Default is empty.
license: "MIT"
# The SSH private key that should be used to commit to the Git repository.
# This can either be a path or the key contents.
#
# WARNING: do not expose your private key in the configuration file!
private_key: '{{ .Env.AUR_PRIVATE_KEY }}'
# The AUR Git URL for this package.
# Defaults to empty
# Publish is skipped if empty.
git_url: 'ssh://aur@aur.archlinux.org/sq-bin.git'
# 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 AUR repo
# in case there is an indicator for prerelease in the tag e.g. v1.0.0-rc1.
#
# Default is false.
skip_upload: false
# List of additional packages that the software provides the features of.
#
# Defaults to the project name.
provides:
- sq
# List of packages that conflict with, or cause problems with the package.
#
# Defaults to the project name.
conflicts:
- sq
# List of packages that must be installed to install this.
#
# Defaults to empty.
# depends:
# - curl
# List of packages that are not needed for the software to function,
# but provide additional features.
#
# Must be in the format `package: short description of the extra functionality`.
#
# Defaults to empty.
# optdepends:
# - 'wget: for downloading things'
# List of files that can contain user-made changes and should be preserved
# during package upgrades and removals.
#
# Default: empty.
# Since: v1.12
backup:
# - /etc/foo.conf # This should really include the sq config? ~/.config/sq/sq.yml
# Custom package instructions.
#
# Defaults to `install -Dm755 "./PROJECT_NAME" "${pkgdir}/usr/bin/PROJECT_NAME",
# which is not always correct.
#
# We recommend you override this, installing the binary, license and
# everything else your package needs.
package: |-
# bin
mkdir -p "${pkgdir}/usr/bin"
install -Dm755 "./sq" "${pkgdir}/usr/bin/sq"
# license
mkdir -p "${pkgdir}/usr/share/licenses/sq"
install -Dm644 "./LICENSE" "${pkgdir}/usr/share/licenses/sq/LICENSE"
# completions
mkdir -p "${pkgdir}/usr/share/bash-completion/completions/"
mkdir -p "${pkgdir}/usr/share/zsh/site-functions/"
mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d/"
install -Dm644 "./completions/sq.bash" "${pkgdir}/usr/share/bash-completion/completions/sq"
install -Dm644 "./completions/sq.zsh" "${pkgdir}/usr/share/zsh/site-functions/_sq"
install -Dm644 "./completions/sq.fish" "${pkgdir}/usr/share/fish/vendor_completions.d/sq.fish"
# docs
mkdir -p "${pkgdir}/usr/share/doc/sq"
install -Dm644 "./README.md" "${pkgdir}/usr/share/doc/sq/README.md"
mkdir -p "${pkgdir}/usr/share/man/man1"
install -Dm644 "./manpages/sq.1.gz" "${pkgdir}/usr/share/man/man1/sq.1.gz"
# Git author used to commit to the repository.
# Defaults are shown below.
commit_author:
name: neilotoole
email: neilotoole@apache.org
# Commit message template.
# Defaults to `Update to {{ .Tag }}`.
# commit_msg_template: "pkgbuild updates"
# If you build for multiple GOAMD64 versions, you may use this to choose which one to use.
# Defaults to `v1`.
# goamd64: v2
# The value to be passed to `GIT_SSH_COMMAND`.
# This is mainly used to specify the SSH private key used to pull/push to
# the Git URL.
#
# Defaults to `ssh -i {{ .KeyPath }} -o StrictHostKeyChecking=accept-new -F /dev/null`.
# git_ssh_command: 'ssh -i {{ .Env.AUR_PRIVATE_KEY }} -o StrictHostKeyChecking=accept-new -F /dev/null'
# git_ssh_command: 'ssh -i {{ .Env.KEY }} -o SomeOption=yes'
# Template for the url which is determined by the given Token
# (github, gitlab or gitea).
#
# Default depends on the client.
# url_template: "http://github.mycompany.com/foo/bar/releases/{{ .Tag }}/{{ .ArtifactName }}"