# 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/... - go test ./... -v 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 now supporting riscv64 on trixie - 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