Skip to content

Add gorelease config and workflow for releases - #1

Open
iwanicki92 wants to merge 4 commits into
zarhus:mainfrom
iwanicki92:gorelease
Open

Add gorelease config and workflow for releases#1
iwanicki92 wants to merge 4 commits into
zarhus:mainfrom
iwanicki92:gorelease

Conversation

@iwanicki92

@iwanicki92 iwanicki92 commented Jul 27, 2026

Copy link
Copy Markdown

Build and publish archive with binary, RPM and DEB packages and hashes on tag push.

Installing via packages assures that required dependencies are installed.

Installing benchctl from deb package in fresh Debian 12 container:

root@cc1a3764f179:/# apt install ./benchctl_0.0.1_linux_amd64.deb
(...)
The following additional packages will be installed:
  krb5-locales libbsd0 libcbor0.8 libedit2 libfido2-1 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libx11-6 libx11-data libxau6
  libxcb1 libxdmcp6 libxext6 libxmuu1 openssh-client sshpass xauth
(...)
0 upgraded, 21 newly installed, 0 to remove and 41 not upgraded.
Need to get 3329 kB/6166 kB of archives.
After this operation, 19.6 MB of additional disk space will be used.
root@cc1a3764f179:/# benchctl --version
benchctl version v0.0.1 (9a4c9bcfcfe2) (benchrack build)

Same with RPM, installs with required dependencies:

Package                                           Arch      Version                                           Repository                                   Size
(...)
Installing:
 benchctl                                         x86_64    0.0.1-1                                           @commandline                              6.3 MiB
Installing dependencies:
 libcbor                                          x86_64    0.11.0-3.fc42                                     fedora                                   77.8 KiB
 libedit                                          x86_64    3.1-56.20251016cvs.fc42                           updates                                 240.2 KiB
 libfdisk                                         x86_64    2.40.4-10.fc42                                    updates                                 372.3 KiB
 libfido2                                         x86_64    1.15.0-3.fc42                                     fedora                                  242.1 KiB
 openssh                                          x86_64    9.9p1-14.fc42                                     updates                                   1.4 MiB
 openssh-clients                                  x86_64    9.9p1-14.fc42                                     updates                                   2.7 MiB
 sshpass                                          x86_64    1.09-10.fc42                                      fedora                                   42.6 KiB
 util-linux                                       x86_64    2.40.4-10.fc42                                    updates                                   3.4 MiB

Transaction Summary:
 Installing:         9 packages
 Upgrading:          5 packages
 Replacing:          5 packages

Test workflow: https://github.com/iwanicki92/benchctl/actions/runs/30312386696/job/90130639396
Result: https://github.com/iwanicki92/benchctl/releases/tag/v0.0.1

Tested with this commit iwanicki92@9a4c9bc otherwise goproxy looks for tag in zarhus/benchctl (so I couldn't test it).

Artifacts are partially reproducible (as long as goreleaser and go toolchain versions match): binary, archive and deb and rpm packages. Tested by building locally on Fedora, in Github Actions, and in docker.

Signed-off-by: iwanicki92 <iwanicki92@gmail.com>
Signed-off-by: iwanicki92 <iwanicki92@gmail.com>
Signed-off-by: iwanicki92 <iwanicki92@gmail.com>
Signed-off-by: iwanicki92 <iwanicki92@gmail.com>
@iwanicki92

Copy link
Copy Markdown
Author

force-push: Use go.mod for setting up Go version instead of pinning it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant