summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLevi Durfee <levi.durfee@gmail.com>2026-01-06 20:03:07 -0500
committerLevi Durfee <levi.durfee@gmail.com>2026-01-06 20:03:16 -0500
commit50d071a3a0cca5d11e81c2780e5a0428e33c87a9 (patch)
tree07652f28b237aa136e4e49c65cb49b2b57a51d4e
parentdb148ef2d7a51eded542636ea51087a371b94263 (diff)
Add goreleaser
-rw-r--r--.github/goreleaser.yml33
-rw-r--r--.gitignore2
-rw-r--r--.goreleaser.yaml56
3 files changed, 91 insertions, 0 deletions
diff --git a/.github/goreleaser.yml b/.github/goreleaser.yml
new file mode 100644
index 0000000..bad062e
--- /dev/null
+++ b/.github/goreleaser.yml
@@ -0,0 +1,33 @@
+name: goreleaser
+
+on:
+ push:
+ tags:
+ - '*'
+
+permissions:
+ contents: write
+
+jobs:
+ goreleaser:
+ runs-on: ubuntu-latest
+ steps:
+ -
+ name: Checkout
+ uses: actions/checkout@v5
+ with:
+ fetch-depth: 0
+ -
+ name: Set up Go
+ uses: actions/setup-go@v5
+ -
+ name: Run GoReleaser
+ uses: goreleaser/goreleaser-action@v6
+ with:
+ # either 'goreleaser' (default) or 'goreleaser-pro'
+ distribution: goreleaser
+ # 'latest', 'nightly', or a semver
+ version: 'latest'
+ args: release --clean
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.gitignore b/.gitignore
index e1b2481..0f8f324 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,5 @@
/goaes
*.bin
*.txt
+# Added by goreleaser init:
+dist/
diff --git a/.goreleaser.yaml b/.goreleaser.yaml
new file mode 100644
index 0000000..742b6be
--- /dev/null
+++ b/.goreleaser.yaml
@@ -0,0 +1,56 @@
+# This is an example .goreleaser.yml file with some sensible defaults.
+# Make sure to check the documentation at https://goreleaser.com
+
+# The lines below are called `modelines`. See `:help modeline`
+# Feel free to remove those if you don't want/need to use them.
+# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
+# vim: set ts=2 sw=2 tw=0 fo=cnqoj
+
+version: 2
+
+before:
+ hooks:
+ # You may remove this if you don't use go modules.
+ - go mod tidy
+
+builds:
+ - env:
+ - CGO_ENABLED=0
+ goos:
+ - linux
+ - windows
+ - darwin
+ main: ./cmd/goaes
+ binary: goaes
+ goarch:
+ - amd64
+ - arm64
+
+archives:
+ - formats: [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
+ formats: [zip]
+
+changelog:
+ sort: asc
+ filters:
+ exclude:
+ - "^docs:"
+ - "^test:"
+
+release:
+ footer: >-
+
+ ---
+
+ Released by [GoReleaser](https://github.com/goreleaser/goreleaser).