mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-10-31 00:12:18 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			604 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			604 lines
		
	
	
		
			14 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:
 | ||
|     # 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 ./...
 | ||
| 
 | ||
| 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"
 | ||
| 
 | ||
|   - binary: infra
 | ||
|     id: infra
 | ||
|     main: ./tools/infra/infra.go
 | ||
|     goos:
 | ||
|       - darwin
 | ||
|       - windows
 | ||
|       - linux
 | ||
|     goarch:
 | ||
|       - s390x
 | ||
|       - mips64
 | ||
|       - mips64le
 | ||
|       - amd64
 | ||
|       - ppc64le
 | ||
|       - arm64
 | ||
|     goarm:
 | ||
|       - "6"
 | ||
|       - "7"
 | ||
| 
 | ||
|   - binary: ncpu
 | ||
|     id: ncpu
 | ||
|     main: ./tools/ncpu/ncpu.go
 | ||
|     goos:
 | ||
|       - darwin
 | ||
|       - windows
 | ||
|       - linux
 | ||
|     goarch:
 | ||
|       - s390x
 | ||
|       - mips64
 | ||
|       - mips64le
 | ||
|       - amd64
 | ||
|       - ppc64le
 | ||
|       - arm64
 | ||
|     goarm:
 | ||
|       - "6"
 | ||
|       - "7"
 | ||
| 
 | ||
|   - binary: component
 | ||
|     id: component
 | ||
|     main: ./tools/component/component.go
 | ||
|     goos:
 | ||
|       - darwin
 | ||
|       - windows
 | ||
|       - linux
 | ||
|     goarch:
 | ||
|       - s390x
 | ||
|       - mips64
 | ||
|       - mips64le
 | ||
|       - amd64
 | ||
|       - ppc64le
 | ||
|       - arm64
 | ||
|     goarm:
 | ||
|       - "6"
 | ||
|       - "7"
 | ||
|     
 | ||
|   - binary: versionchecker
 | ||
|     id: versionchecker
 | ||
|     main: ./tools/versionchecker/versionchecker.go
 | ||
|     goos:
 | ||
|       - darwin
 | ||
|       - windows
 | ||
|       - linux
 | ||
|     goarch:
 | ||
|       - s390x
 | ||
|       - mips64
 | ||
|       - mips64le
 | ||
|       - amd64
 | ||
|       - ppc64le
 | ||
|       - arm64
 | ||
|     goarm:
 | ||
|       - "6"
 | ||
|       - "7"
 | ||
| 
 | ||
|   - binary: changelog
 | ||
|     id: changelog
 | ||
|     main: ./tools/changelog/changelog.go
 | ||
|     goos:
 | ||
|       - darwin
 | ||
|       - windows
 | ||
|       - linux
 | ||
|     goarch:
 | ||
|       - s390x
 | ||
|       - mips64
 | ||
|       - mips64le
 | ||
|       - amd64
 | ||
|       - ppc64le
 | ||
|       - arm64
 | ||
|     goarm:
 | ||
|       - "6"
 | ||
|       - "7"
 | ||
| 
 | ||
|   - binary: yamlfmt
 | ||
|     id: yamlfmt
 | ||
|     main: ./tools/yamlfmt/yamlfmt.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 }}
 | ||
|     # use zip for windows archives
 | ||
|     files:
 | ||
|       - CHANGELOG/*
 | ||
|       - deployment/*
 | ||
|       - config/*
 | ||
|       - build/*
 | ||
|       - scripts/*
 | ||
|       - Makefile
 | ||
|       - install.sh
 | ||
|       - docs/*
 | ||
|       - src: "*.md"
 | ||
|         dst: docs
 | ||
| 
 | ||
|         # 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
 | ||
| 
 | ||
|         # 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 |