523 lines
13 KiB
YAML
523 lines
13 KiB
YAML
# This is an example .goreleaser.yml file with some sensible defaults.
|
||
# Make sure to check the documentation at https://goreleaser.com
|
||
|
||
before:
|
||
hooks:
|
||
- make clean
|
||
# You may remove this if you don't use go modules.
|
||
- make tidy
|
||
- make copyright.add
|
||
# you may remove this if you don't need go generate
|
||
- go generate ./...
|
||
|
||
git:
|
||
# What should be used to sort tags when gathering the current and previous
|
||
# tags if there are more than one tag in the same commit.
|
||
#
|
||
# Default: '-version:refname'
|
||
tag_sort: -version:creatordate
|
||
|
||
# What should be used to specify prerelease suffix while sorting tags when gathering
|
||
# the current and previous tags if there are more than one tag in the same commit.
|
||
#
|
||
# Since: v1.17
|
||
prerelease_suffix: "-"
|
||
|
||
# Tags to be ignored by GoReleaser.
|
||
# This means that GoReleaser will not pick up tags that match any of the
|
||
# provided values as either previous or current tags.
|
||
#
|
||
# Templates: allowed.
|
||
# Since: v1.21.
|
||
ignore_tags:
|
||
- nightly
|
||
# - "{{.Env.IGNORE_TAG}}"
|
||
|
||
snapshot:
|
||
name_template: "{{ incpatch .Version }}-next"
|
||
|
||
# gomod:
|
||
# proxy: true
|
||
|
||
report_sizes: true
|
||
|
||
# metadata:
|
||
# mod_timestamp: "{{ .CommitTimestamp }}"
|
||
|
||
builds:
|
||
- binary: openim-api
|
||
id: openim-api
|
||
main: ./cmd/openim-api/main.go
|
||
goos:
|
||
- darwin
|
||
- windows
|
||
- linux
|
||
goarch:
|
||
- s390x
|
||
- mips64
|
||
- mips64le
|
||
- amd64
|
||
- ppc64le
|
||
- arm64
|
||
goarm:
|
||
- "6"
|
||
- "7"
|
||
|
||
- binary: openim-cmdutils
|
||
id: openim-cmdutils
|
||
main: ./cmd/openim-cmdutils/main.go
|
||
goos:
|
||
- darwin
|
||
- windows
|
||
- linux
|
||
goarch:
|
||
- s390x
|
||
- mips64
|
||
- mips64le
|
||
- amd64
|
||
- ppc64le
|
||
- arm64
|
||
goarm:
|
||
- "6"
|
||
- "7"
|
||
|
||
- binary: openim-crontask
|
||
id: openim-crontask
|
||
main: ./cmd/openim-crontask/main.go
|
||
goos:
|
||
- darwin
|
||
- windows
|
||
- linux
|
||
goarch:
|
||
- s390x
|
||
- mips64
|
||
- mips64le
|
||
- amd64
|
||
- ppc64le
|
||
- arm64
|
||
goarm:
|
||
- "6"
|
||
- "7"
|
||
|
||
- binary: openim-msggateway
|
||
id: openim-msggateway
|
||
main: ./cmd/openim-msggateway/main.go
|
||
goos:
|
||
- darwin
|
||
- windows
|
||
- linux
|
||
goarch:
|
||
- s390x
|
||
- mips64
|
||
- mips64le
|
||
- amd64
|
||
- ppc64le
|
||
- arm64
|
||
goarm:
|
||
- "6"
|
||
- "7"
|
||
|
||
- binary: openim-msgtransfer
|
||
id: openim-msgtransfer
|
||
main: ./cmd/openim-msgtransfer/main.go
|
||
goos:
|
||
- darwin
|
||
- windows
|
||
- linux
|
||
goarch:
|
||
- s390x
|
||
- mips64
|
||
- mips64le
|
||
- amd64
|
||
- ppc64le
|
||
- arm64
|
||
goarm:
|
||
- "6"
|
||
- "7"
|
||
|
||
- binary: openim-push
|
||
id: openim-push
|
||
main: ./cmd/openim-push/main.go
|
||
goos:
|
||
- darwin
|
||
- windows
|
||
- linux
|
||
goarch:
|
||
- s390x
|
||
- mips64
|
||
- mips64le
|
||
- amd64
|
||
- ppc64le
|
||
- arm64
|
||
goarm:
|
||
- "6"
|
||
- "7"
|
||
|
||
- binary: openim-rpc-auth
|
||
id: openim-rpc-auth
|
||
main: ./cmd/openim-rpc/openim-rpc-auth/main.go
|
||
goos:
|
||
- darwin
|
||
- windows
|
||
- linux
|
||
goarch:
|
||
- s390x
|
||
- mips64
|
||
- mips64le
|
||
- amd64
|
||
- ppc64le
|
||
- arm64
|
||
goarm:
|
||
- "6"
|
||
- "7"
|
||
|
||
- binary: openim-rpc-conversation
|
||
id: openim-rpc-conversation
|
||
main: ./cmd/openim-rpc/openim-rpc-conversation/main.go
|
||
goos:
|
||
- darwin
|
||
- windows
|
||
- linux
|
||
goarch:
|
||
- s390x
|
||
- mips64
|
||
- mips64le
|
||
- amd64
|
||
- ppc64le
|
||
- arm64
|
||
goarm:
|
||
- "6"
|
||
- "7"
|
||
|
||
- binary: openim-rpc-friend
|
||
id: openim-rpc-friend
|
||
main: ./cmd/openim-rpc/openim-rpc-friend/main.go
|
||
goos:
|
||
- darwin
|
||
- windows
|
||
- linux
|
||
goarch:
|
||
- s390x
|
||
- mips64
|
||
- mips64le
|
||
- amd64
|
||
- ppc64le
|
||
- arm64
|
||
goarm:
|
||
- "6"
|
||
- "7"
|
||
|
||
- binary: openim-rpc-group
|
||
id: openim-rpc-group
|
||
main: ./cmd/openim-rpc/openim-rpc-group/main.go
|
||
goos:
|
||
- darwin
|
||
- windows
|
||
- linux
|
||
goarch:
|
||
- s390x
|
||
- mips64
|
||
- mips64le
|
||
- amd64
|
||
- ppc64le
|
||
- arm64
|
||
goarm:
|
||
- "6"
|
||
- "7"
|
||
|
||
- binary: openim-rpc-msg
|
||
id: openim-rpc-msg
|
||
main: ./cmd/openim-rpc/openim-rpc-msg/main.go
|
||
goos:
|
||
- darwin
|
||
- windows
|
||
- linux
|
||
goarch:
|
||
- s390x
|
||
- mips64
|
||
- mips64le
|
||
- amd64
|
||
- ppc64le
|
||
- arm64
|
||
goarm:
|
||
- "6"
|
||
- "7"
|
||
|
||
- binary: openim-rpc-third
|
||
id: openim-rpc-third
|
||
main: ./cmd/openim-rpc/openim-rpc-third/main.go
|
||
goos:
|
||
- darwin
|
||
- windows
|
||
- linux
|
||
goarch:
|
||
- s390x
|
||
- mips64
|
||
- mips64le
|
||
- amd64
|
||
- ppc64le
|
||
- arm64
|
||
goarm:
|
||
- "6"
|
||
- "7"
|
||
|
||
- binary: openim-rpc-user
|
||
id: openim-rpc-user
|
||
main: ./cmd/openim-rpc/openim-rpc-user/main.go
|
||
goos:
|
||
- darwin
|
||
- windows
|
||
- linux
|
||
goarch:
|
||
- s390x
|
||
- mips64
|
||
- mips64le
|
||
- amd64
|
||
- ppc64le
|
||
- arm64
|
||
goarm:
|
||
- "6"
|
||
- "7"
|
||
|
||
|
||
# TODO:Need a script, such as the init - release to help binary to find the right directory
|
||
# ,which can be compiled binary
|
||
archives:
|
||
- format: tar.gz
|
||
# this name template makes the OS and Arch compatible with the results of uname.
|
||
name_template: >-
|
||
{{ .ProjectName }}_
|
||
{{- title .Os }}_
|
||
{{- if eq .Arch "amd64" }}x86_64
|
||
{{- else if eq .Arch "386" }}i386
|
||
{{- else }}{{ .Arch }}{{ end }}
|
||
{{- if .Arm }}v{{ .Arm }}{{ end }}
|
||
|
||
# Set this to true if you want all files in the archive to be in a single directory.
|
||
# If set to true and you extract the archive 'goreleaser_Linux_arm64.tar.gz',
|
||
# you'll get a folder 'goreleaser_Linux_arm64'.
|
||
# If set to false, all files are extracted separately.
|
||
# You can also set it to a custom folder name (templating is supported).
|
||
wrap_in_directory: true
|
||
|
||
# use zip for windows archives
|
||
files:
|
||
- CHANGELOG/*
|
||
- deployment/*
|
||
- config/*
|
||
- build/*
|
||
- scripts/*
|
||
- Makefile
|
||
- install.sh
|
||
- docs/*
|
||
- src: "*.md"
|
||
dst: docs
|
||
|
||
# Strip parent folders when adding files to the archive.
|
||
strip_parent: true
|
||
|
||
# File info.
|
||
# Not all fields are supported by all formats available formats.
|
||
#
|
||
# Default: copied from the source file
|
||
info:
|
||
# Templates: allowed (since v1.14)
|
||
owner: root
|
||
|
||
# Templates: allowed (since v1.14)
|
||
group: root
|
||
|
||
# Must be in time.RFC3339Nano format.
|
||
#
|
||
# Templates: allowed (since v1.14)
|
||
mtime: "{{ .CommitDate }}"
|
||
|
||
# File mode.
|
||
mode: 0644
|
||
|
||
format_overrides:
|
||
- goos: windows
|
||
format: zip
|
||
|
||
changelog:
|
||
sort: asc
|
||
use: github
|
||
filters:
|
||
exclude:
|
||
- "^test:"
|
||
- "^chore"
|
||
- "merge conflict"
|
||
- Merge pull request
|
||
- Merge remote-tracking branch
|
||
- Merge branch
|
||
- go mod tidy
|
||
groups:
|
||
- title: Dependency updates
|
||
regexp: '^.*?(feat|fix)\(deps\)!?:.+$'
|
||
order: 300
|
||
- title: "New Features"
|
||
regexp: '^.*?feat(\([[:word:]]+\))??!?:.+$'
|
||
order: 100
|
||
- title: "Security updates"
|
||
regexp: '^.*?sec(\([[:word:]]+\))??!?:.+$'
|
||
order: 150
|
||
- title: "Bug fixes"
|
||
regexp: '^.*?fix(\([[:word:]]+\))??!?:.+$'
|
||
order: 200
|
||
- title: "Documentation updates"
|
||
regexp: ^.*?doc(\([[:word:]]+\))??!?:.+$
|
||
order: 400
|
||
- title: "Build process updates"
|
||
regexp: ^.*?build(\([[:word:]]+\))??!?:.+$
|
||
order: 400
|
||
- title: Other work
|
||
order: 9999
|
||
|
||
# dockers:
|
||
# - image_templates:
|
||
# - "openimsdk/open-im-server:{{ .Tag }}-amd64"
|
||
# - "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64"
|
||
# dockerfile: build/images/openim-api/Dockerfile.release
|
||
# ids:
|
||
# - openim-api
|
||
# use: buildx
|
||
# build_flag_templates:
|
||
# - "--pull"
|
||
# - "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/openimsdk/open-im-server/main/README.md"
|
||
# - "--label=io.artifacthub.package.logo-url=hhttps://github.com/openimsdk/open-im-server/blob/main/assets/logo/openim-logo-green.png"
|
||
# - '--label=io.artifacthub.package.maintainers=[{"name":"Xinwei Xiong","email":"3293172751nss@gmail.com"}]'
|
||
# - "--label=io.artifacthub.package.license=Apace-2.0"
|
||
# - "--label=org.opencontainers.image.description=OpenIM Open source top instant messaging system"
|
||
# - "--label=org.opencontainers.image.created={{.Date}}"
|
||
# - "--label=org.opencontainers.image.name={{.ProjectName}}"
|
||
# - "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||
# - "--label=org.opencontainers.image.version={{.Version}}"
|
||
# - "--label=org.opencontainers.image.source={{.GitURL}}"
|
||
# - "--platform=linux/amd64"
|
||
# extra_files:
|
||
# - scripts/entrypoint.sh
|
||
# - image_templates:
|
||
# - "goreleaser/goreleaser:{{ .Tag }}-arm64"
|
||
# - "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64"
|
||
# dockerfile: build/images/openim-api/Dockerfile.release
|
||
# use: buildx
|
||
# build_flag_templates:
|
||
# - "--pull"
|
||
# - "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/openimsdk/open-im-server/main/README.md"
|
||
# - "--label=io.artifacthub.package.logo-url=hhttps://github.com/openimsdk/open-im-server/blob/main/assets/logo/openim-logo-green.png"
|
||
# - '--label=io.artifacthub.package.maintainers=[{"name":"Xinwei Xiong","email":"3293172751nss@gmail.com"}]'
|
||
# - "--label=io.artifacthub.package.license=Apace-2.0"
|
||
# - "--label=org.opencontainers.image.description=OpenIM Open source top instant messaging system"
|
||
# - "--label=org.opencontainers.image.created={{.Date}}"
|
||
# - "--label=org.opencontainers.image.name={{.ProjectName}}"
|
||
# - "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||
# - "--label=org.opencontainers.image.version={{.Version}}"
|
||
# - "--label=org.opencontainers.image.source={{.GitURL}}"
|
||
# - "--platform=linux/arm64"
|
||
# goarch: arm64
|
||
# extra_files:
|
||
# - scripts/entrypoint.sh
|
||
|
||
# docker_manifests:
|
||
# - name_template: "goreleaser/goreleaser:{{ .Tag }}"
|
||
# image_templates:
|
||
# - "goreleaser/goreleaser:{{ .Tag }}-amd64"
|
||
# - "goreleaser/goreleaser:{{ .Tag }}-arm64"
|
||
# - name_template: "ghcr.io/goreleaser/goreleaser:{{ .Tag }}"
|
||
# image_templates:
|
||
# - "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64"
|
||
# - "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64"
|
||
# - name_template: "goreleaser/goreleaser:latest"
|
||
# image_templates:
|
||
# - "goreleaser/goreleaser:{{ .Tag }}-amd64"
|
||
# - "goreleaser/goreleaser:{{ .Tag }}-arm64"
|
||
# - name_template: "ghcr.io/goreleaser/goreleaser:latest"
|
||
# image_templates:
|
||
# - "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-amd64"
|
||
# - "ghcr.io/goreleaser/goreleaser:{{ .Tag }}-arm64"
|
||
|
||
nfpms:
|
||
- id: packages
|
||
builds:
|
||
- openim-api
|
||
- openim-cmdutils
|
||
- openim-crontask
|
||
- openim-msggateway
|
||
- openim-msgtransfer
|
||
- openim-push
|
||
- openim-rpc-auth
|
||
- openim-rpc-conversation
|
||
- openim-rpc-friend
|
||
- openim-rpc-group
|
||
- openim-rpc-msg
|
||
- openim-rpc-third
|
||
- openim-rpc-user
|
||
# Your app's vendor.
|
||
vendor: OpenIMSDK
|
||
homepage: https://github.com/openimsdk/open-im-server
|
||
maintainer: kubbot <https://github.com/kubbot>
|
||
description: |-
|
||
Auto sync github labels
|
||
kubbot && openimbot
|
||
license: MIT
|
||
formats:
|
||
- apk
|
||
- deb
|
||
- rpm
|
||
- termux.deb # Since: v1.11
|
||
- archlinux # Since: v1.13
|
||
dependencies:
|
||
- git
|
||
recommends:
|
||
- golang
|
||
|
||
|
||
# The lines beneath this are called `modelines`. See `:help modeline`
|
||
# Feel free to remove those if you don't want/use them.
|
||
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
|
||
# vim: set ts=2 sw=2 tw=0 fo=cnqoj
|
||
|
||
# Default: './dist'
|
||
dist: ./_output/dist
|
||
|
||
# .goreleaser.yaml
|
||
milestones:
|
||
# You can have multiple milestone configs
|
||
-
|
||
# Repository for the milestone
|
||
# Default is extracted from the origin remote URL
|
||
repo:
|
||
owner: OpenIMSDK
|
||
name: Open-IM-Server
|
||
|
||
# Whether to close the milestone
|
||
close: true
|
||
|
||
# Fail release on errors, such as missing milestone.
|
||
fail_on_error: false
|
||
|
||
# Name of the milestone
|
||
#
|
||
# Default: '{{ .Tag }}'
|
||
name_template: "Current Release"
|
||
|
||
# publishers:
|
||
# - name: "fury.io"
|
||
# ids:
|
||
# - packages
|
||
# dir: "{{ dir .ArtifactPath }}"
|
||
# cmd: |
|
||
# bash -c '
|
||
# if [[ "{{ .Tag }}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||
# curl -F package=@{{ .ArtifactName }} https://{{ .Env.FURY_TOKEN }}@push.fury.io/{{ .Env.USERNAME }}/
|
||
# else
|
||
# echo "Skipping deployment: Non-production release detected"
|
||
# fi'
|
||
|
||
checksum:
|
||
name_template: "{{ .ProjectName }}_checksums.txt"
|
||
algorithm: sha256
|
||
|
||
release:
|
||
prerelease: auto
|