From 0b785a155ec3cb407223a87d14ee0e991cf28d99 Mon Sep 17 00:00:00 2001 From: phillip-stephens Date: Fri, 17 Jan 2025 17:07:55 -0800 Subject: [PATCH 1/5] add goreleaser added files to gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 90d9e0af..fcd23c40 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ *.iml *.code-workspace /zdns -*.log \ No newline at end of file +*.log# Added by goreleaser init: +dist/ From 523bd4239ecc55e01dcdd396af6fe39749096d01 Mon Sep 17 00:00:00 2001 From: phillip-stephens Date: Fri, 17 Jan 2025 17:08:16 -0800 Subject: [PATCH 2/5] added goreleaser.yaml --- .goreleaser.yaml | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .goreleaser.yaml diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 00000000..82a926a2 --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,52 @@ +# 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 + # you may remove this if you don't need go generate + - go generate ./... + +builds: + - env: + - CGO_ENABLED=0 + goos: + - linux + - darwin + +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 + +changelog: + sort: asc + filters: + exclude: + - "^docs:" + - "^test:" + +release: + footer: >- + + --- + + Released by [GoReleaser](https://github.com/goreleaser/goreleaser). From 70738a5aff2c296e05bd7d3297b2ea573463d92d Mon Sep 17 00:00:00 2001 From: phillip-stephens Date: Thu, 23 Jan 2025 17:22:03 -0800 Subject: [PATCH 3/5] initial release docs --- RELEASE.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 RELEASE.md diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 00000000..0ea67834 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,11 @@ +# Releasing a New Version of ZDNS +We use [goreleaser](https://goreleaser.com) to release new versions of ZDNS. To release a new version, follow these steps: + +0. Install `goreleaser`: +```shell +brew install goreleaser/tap/goreleaser +``` +1. Build the binaries: +```shell +goreleaser build --clean +``` From ec86dbf73340c3f4bbf025e079cd83b20ce6ce4d Mon Sep 17 00:00:00 2001 From: phillip-stephens Date: Thu, 23 Jan 2025 17:40:42 -0800 Subject: [PATCH 4/5] updated docs for releasing --- RELEASE.md | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index 0ea67834..2f550569 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -2,10 +2,30 @@ We use [goreleaser](https://goreleaser.com) to release new versions of ZDNS. To release a new version, follow these steps: 0. Install `goreleaser`: -```shell +```shell brew install goreleaser/tap/goreleaser +``` + +1. Create a new tag and push to GH: +```shell +git tag -a vA.B.C -m "Release A.B.C" +``` + +2. Test the release: +```shell +goreleaser release --skip-publish --clean ``` -1. Build the binaries: + +3. Set GitHub Token (at least configured with `write:packages`) ```shell -goreleaser build --clean +export GITHUB_TOKEN="YOUR_GH_TOKEN" ``` +4. Push Tag to Github + Be sure that this tagged commit is what you want to tag. Once you push you shouldn't delete the tagged version. +```shell +git push origin vA.B.C +``` +5. Release! +```shell +goreleaser release --clean +``` \ No newline at end of file From fd4c5e81a03ff60c171750cf08599572dba64fb4 Mon Sep 17 00:00:00 2001 From: phillip-stephens Date: Thu, 23 Jan 2025 17:45:36 -0800 Subject: [PATCH 5/5] note about modifying desc. of release notes --- RELEASE.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/RELEASE.md b/RELEASE.md index 2f550569..2743cf68 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -28,4 +28,5 @@ git push origin vA.B.C 5. Release! ```shell goreleaser release --clean -``` \ No newline at end of file +``` +6. Update the [Release Notes](https://github.com/zmap/zdns/releases) with a description of your changes \ No newline at end of file