go-judge/.goreleaser.yaml
criyle 3f2baa31de
Some checks are pending
Build / Goreleaser (push) Waiting to run
Build / Upload artifacts-${{ matrix.os }}-${{ matrix.arch }} (amd64_v3, darwin) (push) Blocked by required conditions
Build / Upload artifacts-${{ matrix.os }}-${{ matrix.arch }} (amd64_v3, linux) (push) Blocked by required conditions
Build / Upload artifacts-${{ matrix.os }}-${{ matrix.arch }} (amd64_v3, windows) (push) Blocked by required conditions
Build / Upload artifacts-${{ matrix.os }}-${{ matrix.arch }} (arm64_v8.0, darwin) (push) Blocked by required conditions
Build / Upload artifacts-${{ matrix.os }}-${{ matrix.arch }} (arm64_v8.0, linux) (push) Blocked by required conditions
Build / Upload artifacts-${{ matrix.os }}-${{ matrix.arch }} (arm64_v8.0, windows) (push) Blocked by required conditions
linuxc: update sandbox with vfork support for clone3(CLONE_INTO_CGROUP)
2025-02-22 21:38:20 +00:00

232 lines
5.0 KiB
YAML

# This is an example .goreleaser.yml file with some sensible defaults.
# Make sure to check the documentation at https://goreleaser.com
project_name: go-judge
version: 2
before:
hooks:
# You may remove this if you don't use go modules.
- go mod tidy
- go mod download
# you may remove this if you don't need go generate
- go generate ./cmd/...
builds:
- main: ./cmd/go-judge
binary: go-judge
env:
- CGO_ENABLED=0
goos:
- linux
- windows
- darwin
goarch:
- "386"
- amd64
- arm
- arm64
- riscv64
- loong64
- mips64le
- ppc64le
- s390x
goarm:
- "5"
- "7"
goarm64:
- "v8.0"
goamd64:
- v2
- v3
tags:
- nomsgpack
- grpcnotrace
- main: ./cmd/go-judge-shell
binary: go-judge-shell
id: go-judge-shell
env:
- CGO_ENABLED=0
goos:
- linux
- windows
- darwin
goarch:
- "386"
- amd64
- arm
- arm64
- riscv64
- loong64
- mips64le
- ppc64le
- s390x
goarm:
- "5"
- "7"
goarm64:
- "v8.0"
goamd64:
- v2
- v3
tags:
- nomsgpack
- grpcnotrace
- main: ./cmd/go-judge-ffi
binary: go-judge-ffi
id: go-judge-ffi
env:
- CGO_ENABLED=1
buildmode: c-shared
goos:
- linux
goarch:
- amd64
goamd64:
- v2
- main: ./cmd/go-judge-init
binary: go-judge-init
id: go-judge-init
env:
- CGO_ENABLED=0
goos:
- linux
goarch:
- "386"
- amd64
- arm
- arm64
- riscv64
- loong64
- mips64le
- ppc64le
- s390x
goarm:
- "5"
- "7"
goarm64:
- "v8.0"
goamd64:
- v2
- v3
archives:
- files:
- mount.yaml
formats: [ 'binary', 'tar.gz' ]
name_template: >-
{{ .Binary }}_{{ .Version }}_
{{- if eq .Os "darwin" }}macOS
{{- else }}{{ .Os }}{{ end }}_{{ .Arch }}
{{- with .Arm }}v{{ . }}{{ end }}
{{- with .Mips }}_{{ . }}{{ end }}
{{- if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{end}}
nfpms:
- license: MIT
maintainer: "criyle"
formats:
- apk
- deb
- rpm
# nix:
# - name: go-judge
# license: "mit"
dockers:
- image_templates:
- "criyle/go-judge:{{ .Tag }}-amd64"
use: buildx
dockerfile: "Dockerfile.goreleaser"
goarch: amd64
goamd64: v2
extra_files:
- "mount.yaml"
build_flag_templates:
- "--platform=linux/amd64"
- image_templates:
- "criyle/go-judge:{{ .Tag }}-arm64"
use: buildx
goarch: "arm64"
dockerfile: "Dockerfile.goreleaser"
extra_files:
- "mount.yaml"
build_flag_templates:
- "--platform=linux/arm64"
- image_templates:
- "criyle/go-judge:{{ .Tag }}-armv7"
use: buildx
goarch: "arm"
goarm: "7"
dockerfile: "Dockerfile.goreleaser"
extra_files:
- "mount.yaml"
build_flag_templates:
- "--platform=linux/arm/v7"
- image_templates:
- "criyle/go-judge:{{ .Tag }}-armv5"
use: buildx
goarch: "arm"
goarm: "5"
dockerfile: "Dockerfile.goreleaser"
extra_files:
- "mount.yaml"
build_flag_templates:
- "--platform=linux/arm/v5"
- image_templates:
- "criyle/go-judge:{{ .Tag }}-ppc64le"
use: buildx
dockerfile: "Dockerfile.goreleaser"
goarch: ppc64le
extra_files:
- "mount.yaml"
build_flag_templates:
- "--platform=linux/ppc64le"
- image_templates:
- "criyle/go-judge:{{ .Tag }}-s390x"
use: buildx
dockerfile: "Dockerfile.goreleaser"
goarch: s390x
extra_files:
- "mount.yaml"
build_flag_templates:
- "--platform=linux/s390x"
# Debian is not supporting riscv64 on stable branch, skip it first
# - image_templates:
# - "criyle/go-judge:{{ .Tag }}-riscv64"
# use: buildx
# dockerfile: "Dockerfile.goreleaser"
# goarch: riscv64
# extra_files:
# - "mount.yaml"
# build_flag_templates:
# - "--platform=linux/riscv64"
docker_manifests:
- name_template: "criyle/go-judge:{{ .Tag }}"
image_templates:
- "criyle/go-judge:{{ .Tag }}-amd64"
- "criyle/go-judge:{{ .Tag }}-arm64"
- "criyle/go-judge:{{ .Tag }}-armv7"
- "criyle/go-judge:{{ .Tag }}-armv5"
- "criyle/go-judge:{{ .Tag }}-ppc64le"
- "criyle/go-judge:{{ .Tag }}-s390x"
# - "criyle/go-judge:{{ .Tag }}-riscv64"
- name_template: "criyle/go-judge:latest"
image_templates:
- "criyle/go-judge:{{ .Tag }}-amd64"
- "criyle/go-judge:{{ .Tag }}-arm64"
- "criyle/go-judge:{{ .Tag }}-armv7"
- "criyle/go-judge:{{ .Tag }}-armv5"
- "criyle/go-judge:{{ .Tag }}-ppc64le"
- "criyle/go-judge:{{ .Tag }}-s390x"
# - "criyle/go-judge:{{ .Tag }}-riscv64"
skip_push: auto
checksum:
name_template: "checksums.txt"
snapshot:
version_template: "{{ incpatch .Version }}-next"
changelog:
sort: asc
filters:
exclude:
- "^docs:"
- "^test:"
release:
github:
owner: criyle
name: go-judge