mirror of
https://github.com/lukaszraczylo/llm-testbench.git
synced 2026-10-19 01:27:32 +00:00
ci: add goreleaser and semver-driven release workflow
The workflow calculates the version with semver-generator, tags the commit when the version is new, and runs goreleaser. goreleaser ships two distribution paths: tar.gz binaries for darwin and linux on amd64 and arm64, and a multi-arch ghcr.io container that carries the go, python3, and C toolchains so the exec evaluators run in-container. The new llmtest version subcommand reports the stamped build version.
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
version: 2
|
||||
|
||||
project_name: llm-testbench
|
||||
|
||||
before:
|
||||
hooks:
|
||||
# Read-only verification only - release tooling must not mutate the tree.
|
||||
- go mod verify
|
||||
|
||||
builds:
|
||||
- id: llmtest
|
||||
main: ./cmd/llmtest
|
||||
binary: llmtest
|
||||
env:
|
||||
- CGO_ENABLED=0
|
||||
goos:
|
||||
- linux
|
||||
- darwin
|
||||
goarch:
|
||||
- amd64
|
||||
- arm64
|
||||
ldflags:
|
||||
- -s -w -X main.version=v{{ .Version }}
|
||||
|
||||
archives:
|
||||
- id: llmtest
|
||||
ids: [llmtest]
|
||||
formats: [tar.gz]
|
||||
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
|
||||
|
||||
checksum:
|
||||
name_template: checksums.txt
|
||||
|
||||
dockers:
|
||||
- id: llmtest-amd64
|
||||
ids: [llmtest]
|
||||
goarch: amd64
|
||||
use: buildx
|
||||
image_templates:
|
||||
- ghcr.io/lukaszraczylo/llm-testbench:v{{ .Version }}-amd64
|
||||
build_flag_templates:
|
||||
- --platform=linux/amd64
|
||||
- --label=org.opencontainers.image.title={{ .ProjectName }}
|
||||
- --label=org.opencontainers.image.version=v{{ .Version }}
|
||||
- --label=org.opencontainers.image.revision={{ .FullCommit }}
|
||||
- --label=org.opencontainers.image.source=https://github.com/lukaszraczylo/llm-testbench
|
||||
- id: llmtest-arm64
|
||||
ids: [llmtest]
|
||||
goarch: arm64
|
||||
use: buildx
|
||||
image_templates:
|
||||
- ghcr.io/lukaszraczylo/llm-testbench:v{{ .Version }}-arm64
|
||||
build_flag_templates:
|
||||
- --platform=linux/arm64
|
||||
- --label=org.opencontainers.image.title={{ .ProjectName }}
|
||||
- --label=org.opencontainers.image.version=v{{ .Version }}
|
||||
- --label=org.opencontainers.image.revision={{ .FullCommit }}
|
||||
- --label=org.opencontainers.image.source=https://github.com/lukaszraczylo/llm-testbench
|
||||
|
||||
docker_manifests:
|
||||
- name_template: ghcr.io/lukaszraczylo/llm-testbench:v{{ .Version }}
|
||||
image_templates:
|
||||
- ghcr.io/lukaszraczylo/llm-testbench:v{{ .Version }}-amd64
|
||||
- ghcr.io/lukaszraczylo/llm-testbench:v{{ .Version }}-arm64
|
||||
- name_template: ghcr.io/lukaszraczylo/llm-testbench:latest
|
||||
image_templates:
|
||||
- ghcr.io/lukaszraczylo/llm-testbench:v{{ .Version }}-amd64
|
||||
- ghcr.io/lukaszraczylo/llm-testbench:v{{ .Version }}-arm64
|
||||
|
||||
changelog:
|
||||
use: github-native
|
||||
|
||||
release:
|
||||
github:
|
||||
owner: lukaszraczylo
|
||||
name: llm-testbench
|
||||
draft: false
|
||||
prerelease: auto
|
||||
Reference in New Issue
Block a user