diff --git a/.gitea/workflows/release-clis.yaml b/.gitea/workflows/release-clis.yaml new file mode 100644 index 0000000..f199b52 --- /dev/null +++ b/.gitea/workflows/release-clis.yaml @@ -0,0 +1,26 @@ +name: release-clis + +on: + push: + tags: + - "v*" + +permissions: + code: read + releases: write + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + fetch-depth: 0 + - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 + with: + go-version-file: go.mod + - uses: goreleaser/goreleaser-action@a4f02ab5355a589de60d917a659ce617ed19b3de # v7.3.0 + with: + args: release --clean + env: + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} diff --git a/.gitignore b/.gitignore index b154073..70f20c6 100644 --- a/.gitignore +++ b/.gitignore @@ -118,3 +118,5 @@ tags # Persistent undo [._]*.un~ +# Added by goreleaser init: +dist/ diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 0000000..cb17381 --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,47 @@ +version: 2 + +gitea_urls: + api: https://git.handmadecities.com/api/v1 + download: https://git.handmadecities.com/ + +before: + hooks: + - go mod tidy + +builds: + - id: hmpki + main: ./cmd/hmpki + binary: hmpki + env: + - CGO_ENABLED=0 + goos: + - linux + - windows + - darwin + goarch: + - arm64 + - amd64 + - id: hmsecrets + main: ./cmd/hmsecrets + binary: hmsecrets + env: + - CGO_ENABLED=0 + goos: + - linux + - windows + - darwin + goarch: + - arm64 + - amd64 + +archives: + - formats: [tar.gz] + name_template: >- + {{ .ProjectName }}_ + {{- title .Os }}_ + {{- if eq .Arch "amd64" }}x86_64 + {{- else }}{{ .Arch }}{{ end }} + {{- if .Arm }}v{{ .Arm }}{{ end }} + format_overrides: + - goos: windows + formats: [zip] diff --git a/mise.toml b/mise.toml index 962df0e..57c99ab 100644 --- a/mise.toml +++ b/mise.toml @@ -2,3 +2,4 @@ go = "1.27.2" "go:golang.org/x/tools/cmd/goimports" = "latest" "go:golang.org/x/tools/gopls" = "latest" +goreleaser = "2.19.0"