Add goreleaser for releasing to gitea but not docker containers

This commit is contained in:
Evan Fiordeliso 2023-08-12 13:50:49 -04:00
parent 82d396d3c9
commit 58f3c2f36e
2 changed files with 74 additions and 0 deletions

67
.goreleaser.yaml Normal file
View File

@ -0,0 +1,67 @@
---
project_name: ytdl-web
env:
- BASE_PKG=go.fifitido.net/ytdl-web
gitea_urls:
api: https://git.fifitido.net/api/v1
download: https://git.fifitido.net
before:
hooks:
- tidy
builds:
- id: ytdl-web_linux
env:
- CGO_ENABLED=0
goos:
- linux
goarch:
- amd64
- arm64
- arm
goarm:
- "7"
- "6"
ldflags:
- -X {{ .Env.BASE_PKG }}/version.Version={{.Version}}
- -X {{ .Env.BASE_PKG }}/version.Build={{.ShortCommit}}
- -X {{ .Env.BASE_PKG }}/version.BuildDate={{.Date}}
- -X {{ .Env.BASE_PKG }}/version.BuiltBy=goreleaser
- env:
- CGO_ENABLED=0
goos:
- windows
- darwin
ldflags:
- -X {{ .Env.BASE_PKG }}/version.Version={{.Version}}
- -X {{ .Env.BASE_PKG }}/version.Build={{.ShortCommit}}
- -X {{ .Env.BASE_PKG }}/version.BuildDate={{.Date}}
- -X {{ .Env.BASE_PKG }}/version.BuiltBy=goreleaser
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
format_overrides:
- goos: windows
format: zip
checksum:
name_template: checksums.txt
snapshot:
name_template: "{{ incpatch .Version }}-next"
changelog:
sort: asc
filters:
exclude:
- "^docs:"
- "^test:"
# 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

View File

@ -16,6 +16,7 @@
packages = with pkgs; [
git
air
goreleaser
docker
docker-compose
buildkit
@ -26,6 +27,7 @@
# https://devenv.sh/scripts/
scripts.deps.exec = "go mod download";
scripts.tidy.exec = "go mod tidy";
scripts.check.exec = "goreleaser check";
scripts.build-id.exec = "git rev-parse --short HEAD";
scripts.build-date.exec = "date -Iseconds";
@ -42,6 +44,10 @@
rm -rf ./dist/ ./out/ ./tmp/
go clean
'';
scripts.release.exec = ''
clean
goreleaser release
'';
scripts.lint.exec = "trunk check";
scripts.fmt.exec = "trunk fmt";
@ -76,6 +82,7 @@
enterShell = ''
echo "Welcome to the $NAME development environment."
echo -n "Golang version: $(go version | cut -d ' ' -f 3), "
echo -n "Goreleaser version: $(goreleaser --version | tail -n 9 | head -n 1 | cut -c 16-), "
echo -n "Docker CLI version: $(docker version -f {{.Client.Version}}), "
echo -n "Buildx version: $(docker buildx version | cut -d ' ' -f 2), "
echo "yt-dlp version: $(yt-dlp --version)"