159 lines
4.5 KiB
YAML
159 lines
4.5 KiB
YAML
# GoReleaser v2 配置
|
|
version: 2
|
|
|
|
before:
|
|
hooks:
|
|
- go mod tidy
|
|
|
|
builds:
|
|
- id: chatlog-builds
|
|
binary: chatlog
|
|
ldflags:
|
|
- -s -w -X github.com/sjzar/chatlog/pkg/version.Version={{.Version}}
|
|
env:
|
|
- CGO_ENABLED=1
|
|
goos:
|
|
- darwin
|
|
- windows
|
|
- linux
|
|
goarch:
|
|
- amd64
|
|
- arm64
|
|
overrides:
|
|
- goos: darwin
|
|
goarch: amd64
|
|
env:
|
|
- CGO_ENABLED=1
|
|
- CC=o64-clang
|
|
- CXX=o64-clang++
|
|
- goos: darwin
|
|
goarch: arm64
|
|
env:
|
|
- CGO_ENABLED=1
|
|
- CC=oa64-clang
|
|
- CXX=oa64-clang++
|
|
- goos: windows
|
|
goarch: amd64
|
|
env:
|
|
- CGO_ENABLED=1
|
|
- CC=x86_64-w64-mingw32-gcc
|
|
- CXX=x86_64-w64-mingw32-g++
|
|
- goos: windows
|
|
goarch: arm64
|
|
env:
|
|
- CGO_ENABLED=1
|
|
- CC=/llvm-mingw/bin/aarch64-w64-mingw32-gcc
|
|
- CXX=/llvm-mingw/bin/aarch64-w64-mingw32-g++
|
|
- goos: linux
|
|
goarch: amd64
|
|
env:
|
|
- CGO_ENABLED=1
|
|
- CC=x86_64-linux-gnu-gcc
|
|
- CXX=x86_64-linux-gnu-g++
|
|
- goos: linux
|
|
goarch: arm64
|
|
env:
|
|
- CGO_ENABLED=1
|
|
- CC=aarch64-linux-gnu-gcc
|
|
- CXX=aarch64-linux-gnu-g++
|
|
|
|
upx:
|
|
- enabled: true
|
|
goos: [darwin, windows, linux]
|
|
goarch: [amd64, arm64]
|
|
compress: best
|
|
lzma: true
|
|
|
|
archives:
|
|
- id: default
|
|
formats: tar.gz
|
|
name_template: >-
|
|
{{ .ProjectName }}_
|
|
{{- .Version }}_
|
|
{{- .Os }}_
|
|
{{- .Arch }}
|
|
format_overrides:
|
|
- goos: windows
|
|
formats: zip
|
|
files:
|
|
- LICENSE
|
|
- README.md
|
|
|
|
checksum:
|
|
name_template: 'checksums.txt'
|
|
algorithm: sha256
|
|
|
|
# 配置 GitHub Release
|
|
release:
|
|
draft: true
|
|
prerelease: auto
|
|
mode: replace
|
|
|
|
# Docker 镜像配置
|
|
# FIXME: 等待 goreleaser 2.12 更新后使用 dockers_v2
|
|
dockers:
|
|
- image_templates:
|
|
- "ghcr.io/sjzar/chatlog:{{ .Tag }}-amd64"
|
|
- "sjzar/chatlog:{{ .Tag }}-amd64"
|
|
dockerfile: Dockerfile
|
|
extra_files:
|
|
- script/docker-entrypoint.sh
|
|
use: buildx
|
|
goos: linux
|
|
goarch: amd64
|
|
build_flag_templates:
|
|
- "--platform=linux/amd64"
|
|
- "--label=org.opencontainers.image.title={{.ProjectName}}"
|
|
- "--label=org.opencontainers.image.description=chat log tool, easily use your own chat data."
|
|
- "--label=org.opencontainers.image.url=https://github.com/sjzar/chatlog"
|
|
- "--label=org.opencontainers.image.source=https://github.com/sjzar/chatlog"
|
|
- "--label=org.opencontainers.image.version={{.Version}}"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.licenses=Apache-2.0"
|
|
|
|
- image_templates:
|
|
- "ghcr.io/sjzar/chatlog:{{ .Tag }}-arm64"
|
|
- "sjzar/chatlog:{{ .Tag }}-arm64"
|
|
dockerfile: Dockerfile
|
|
extra_files:
|
|
- script/docker-entrypoint.sh
|
|
use: buildx
|
|
goos: linux
|
|
goarch: arm64
|
|
build_flag_templates:
|
|
- "--platform=linux/arm64"
|
|
- "--label=org.opencontainers.image.title={{.ProjectName}}"
|
|
- "--label=org.opencontainers.image.description=chat log tool, easily use your own chat data."
|
|
- "--label=org.opencontainers.image.url=https://github.com/sjzar/chatlog"
|
|
- "--label=org.opencontainers.image.source=https://github.com/sjzar/chatlog"
|
|
- "--label=org.opencontainers.image.version={{.Version}}"
|
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
|
- "--label=org.opencontainers.image.licenses=Apache-2.0"
|
|
|
|
# Docker manifest 配置用于多架构镜像
|
|
docker_manifests:
|
|
# GitHub Container Registry manifests
|
|
- name_template: "ghcr.io/sjzar/chatlog:{{ .Tag }}"
|
|
image_templates:
|
|
- "ghcr.io/sjzar/chatlog:{{ .Tag }}-amd64"
|
|
- "ghcr.io/sjzar/chatlog:{{ .Tag }}-arm64"
|
|
|
|
# Docker Hub manifests
|
|
- name_template: "sjzar/chatlog:{{ .Tag }}"
|
|
image_templates:
|
|
- "sjzar/chatlog:{{ .Tag }}-amd64"
|
|
- "sjzar/chatlog:{{ .Tag }}-arm64"
|
|
|
|
# GitHub Container Registry latest
|
|
- name_template: "{{ if not .Prerelease }}ghcr.io/sjzar/chatlog:latest{{ end }}"
|
|
image_templates:
|
|
- "ghcr.io/sjzar/chatlog:{{ .Tag }}-amd64"
|
|
- "ghcr.io/sjzar/chatlog:{{ .Tag }}-arm64"
|
|
|
|
# Docker Hub latest
|
|
- name_template: "{{ if not .Prerelease }}sjzar/chatlog:latest{{ end }}"
|
|
image_templates:
|
|
- "sjzar/chatlog:{{ .Tag }}-amd64"
|
|
- "sjzar/chatlog:{{ .Tag }}-arm64" |