# 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" 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: - LICENSE - README.md - CHANGELOG/* - CONTRIBUTING.md - 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: Dockerfile use: buildx build_flag_templates: - "--pull" - "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/goreleaser/goreleaser/main/README.md" - "--label=io.artifacthub.package.logo-url=https://goreleaser.com/static/avatar.png" - '--label=io.artifacthub.package.maintainers=[{"name":"Carlos Alexandro Becker","email":"carlos@carlosbecker.dev"}]' - "--label=io.artifacthub.package.license=MIT" - "--label=org.opencontainers.image.description=Deliver Go binaries as fast and easily as possible" - "--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: Dockerfile use: buildx build_flag_templates: - "--pull" - "--label=io.artifacthub.package.readme-url=https://raw.githubusercontent.com/goreleaser/goreleaser/main/README.md" - "--label=io.artifacthub.package.logo-url=https://goreleaser.com/static/avatar.png" - '--label=io.artifacthub.package.maintainers=[{"name":"Carlos Alexandro Becker","email":"carlos@carlosbecker.dev"}]' - "--label=io.artifacthub.package.license=MIT" - "--label=org.opencontainers.image.description=Deliver Go binaries as fast and easily as possible" - "--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 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: user name: repo # 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: footer: | **Full Changelog**: https://github.com/OpenIMSDK/Open-IM-Server/compare/{{ .PreviousTag }}...{{ .Tag }} ## Helping out We release logs are recorded on [✨ CHANGELOG](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/CHANGELOG/CHANGELOG.md) This release is only possible thanks to **all** the support of some **awesome people**! **Want to be one of them 😘?** Contributions to this project are welcome! Please see [CONTRIBUTING.md](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/CONTRIBUTING.md) for details.

## Contact Us We value close connections with our users, developers, and contributors here at OpenIMSDK. With a large community and maintainer team, we're always here to help and support you. Whether you're looking to join our community or have any questions or suggestions, we welcome you to get in touch with us. Our most recommended way to get in touch is through [Slack](https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg). Even if you're in China, Slack is usually not blocked by firewalls, making it an easy way to connect with us. Our Slack community is the ideal place to discuss and share ideas and suggestions with other users and developers of OpenIMSDK. You can ask technical questions, seek help, or share your experiences with other users of OpenIMSDK. In [OpenIM community is recruiting new members! discussion](https://github.com/orgs/OpenIMSDK/discussions/426) please leave your information, convenient we will better developers around the small gift to send to your hands. In addition to Slack, we also offer the following ways to get in touch: + : We also have Slack channels for you to communicate and discuss. To join, visit https://slack.com/ and join our [👀 Open-IM-Server slack](https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg) team channel. + : Get in touch with us on [Gmail](winxu81@gmail.com). If you have any questions or issues that need resolving, or any suggestions and feedback for our open source projects, please feel free to contact us via email. + : Read our [blog](https://doc.rentsoft.cn/). Our blog is a great place to stay up-to-date with Open-IM-Server projects and trends. On the blog, we share our latest developments, tech trends, and other interesting information. + : Add [Wechat](https://github.com/OpenIMSDK/OpenIM-Docs/blob/main/docs/images/WechatIMG20.jpeg) and indicate that you are a user or developer of Open-IM-Server. We will process your request as soon as possible. Whether you're looking to join our community or have any questions or suggestions, we welcome you to get in touch with us.