mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-10-31 00:12:18 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			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
 |