[client] adjust gtk3 version release job (#7163)

- Align default names and reuse same environment variables

- With the uploads now targeting the same stable/yum paths as the GTK4
packages, two packages named netbird-ui with the same version and arch
would collide in the repo indexes. Give the GTK3 variant its own
package name and mark the two as conflicting alternatives.

---------

Co-authored-by: Zoltan Papp <zoltan.pmail@gmail.com>
This commit is contained in:
Maycon Santos
2026-08-12 10:34:34 +02:00
committed by GitHub
co-authored by Zoltan Papp
parent 052cf5a748
commit 12546e231c
+19 -25
View File
@@ -43,19 +43,17 @@ archives:
- netbird-ui-gtk3 - netbird-ui-gtk3
nfpms: nfpms:
# Same package_name as the GTK4 packages -- the two are mutually-exclusive # Mutually-exclusive alternative to the GTK4 netbird-ui package -- both
# alternatives served from separate repo paths (see uploads below); a given # ship the same /usr/bin/netbird-ui from the shared stable/yum repos, so
# distro points at exactly one of them. The file names must still differ: # this one carries its own name and conflicts with the GTK4 package.
# the Debian pool is shared storage keyed by file name, so a default-named
# gtk3 .deb would overwrite the stable one.
- maintainer: Netbird <dev@netbird.io> - maintainer: Netbird <dev@netbird.io>
description: Netbird client UI. description: Netbird client UI.
homepage: https://netbird.io/ homepage: https://netbird.io/
license: BSD-3-Clause license: BSD-3-Clause
vendor: NetBird vendor: NetBird
id: netbird_ui_deb_gtk3 id: netbird_ui_deb_gtk3
package_name: netbird-ui package_name: netbird-ui-gtk3
file_name_template: "{{ .PackageName }}-gtk3_{{ .Version }}_{{ .Os }}_{{ .Arch }}" file_name_template: "{{ .PackageName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
builds: builds:
- netbird-ui-gtk3 - netbird-ui-gtk3
formats: formats:
@@ -67,6 +65,10 @@ nfpms:
dst: /usr/share/applications/org.wails.netbird.desktop dst: /usr/share/applications/org.wails.netbird.desktop
- src: client/ui/build/appicon.png - src: client/ui/build/appicon.png
dst: /usr/share/pixmaps/netbird.png dst: /usr/share/pixmaps/netbird.png
conflicts:
- netbird-ui
replaces:
- netbird-ui
dependencies: dependencies:
- netbird (>= 0.75.0) - netbird (>= 0.75.0)
- libgtk-3-0 - libgtk-3-0
@@ -79,8 +81,8 @@ nfpms:
license: BSD-3-Clause license: BSD-3-Clause
vendor: NetBird vendor: NetBird
id: netbird_ui_rpm_gtk3 id: netbird_ui_rpm_gtk3
package_name: netbird-ui package_name: netbird-ui-gtk3
file_name_template: "{{ .PackageName }}-gtk3_{{ .Version }}_{{ .Os }}_{{ .Arch }}" file_name_template: "{{ .PackageName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
builds: builds:
- netbird-ui-gtk3 - netbird-ui-gtk3
formats: formats:
@@ -92,6 +94,10 @@ nfpms:
dst: /usr/share/applications/org.wails.netbird.desktop dst: /usr/share/applications/org.wails.netbird.desktop
- src: client/ui/build/appicon.png - src: client/ui/build/appicon.png
dst: /usr/share/pixmaps/netbird.png dst: /usr/share/pixmaps/netbird.png
# No `replaces` here: nfpm maps it to rpm Obsoletes, which would make
# dnf swap installed GTK4 netbird-ui packages for this one on upgrade.
conflicts:
- netbird-ui
dependencies: dependencies:
- netbird >= 0.75.0 - netbird >= 0.75.0
- (gtk3 or libgtk-3-0) - (gtk3 or libgtk-3-0)
@@ -111,32 +117,20 @@ changelog:
disable: true disable: true
uploads: uploads:
# The gtk3 packages reuse the netbird-ui package name, so they live in - name: debian
# dedicated repo paths (deb distribution `gtk3`, yum path `yum-gtk3`) that
# legacy distros point their repo config at.
#
# GoReleaser derives the credential env var from the upload name, so these
# would look for UPLOAD_DEBIAN-GTK3_SECRET / UPLOAD_YUM-GTK3_SECRET. The
# release workflow only exports UPLOAD_DEBIAN_SECRET / UPLOAD_YUM_SECRET, and
# a missing secret is a silent skip rather than a failure -- the packages
# reached the GitHub release but never the package repositories. Point
# `password` at the exported vars so both uploads authenticate.
- name: debian-gtk3
skip: "{{ .Env.SKIP_PUBLISH }}" skip: "{{ .Env.SKIP_PUBLISH }}"
ids: ids:
- netbird_ui_deb_gtk3 - netbird_ui_deb_gtk3
mode: archive mode: archive
target: https://pkgs.wiretrustee.com/debian/pool/{{ .ArtifactName }};deb.distribution=gtk3;deb.component=main;deb.architecture={{ if .Arm }}armhf{{ else }}{{ .Arch }}{{ end }};deb.package= target: https://pkgs.wiretrustee.com/debian/pool/{{ .ArtifactName }};deb.distribution=stable;deb.component=main;deb.architecture={{ if .Arm }}armhf{{ else }}{{ .Arch }}{{ end }};deb.package=
username: dev@wiretrustee.com username: dev@wiretrustee.com
password: "{{ .Env.UPLOAD_DEBIAN_SECRET }}"
method: PUT method: PUT
- name: yum-gtk3 - name: yum
skip: "{{ .Env.SKIP_PUBLISH }}" skip: "{{ .Env.SKIP_PUBLISH }}"
ids: ids:
- netbird_ui_rpm_gtk3 - netbird_ui_rpm_gtk3
mode: archive mode: archive
target: https://pkgs.wiretrustee.com/yum-gtk3/{{ .Arch }}{{ if .Arm }}{{ .Arm }}{{ end }} target: https://pkgs.wiretrustee.com/yum/{{ .Arch }}{{ if .Arm }}{{ .Arm }}{{ end }}
username: dev@wiretrustee.com username: dev@wiretrustee.com
password: "{{ .Env.UPLOAD_YUM_SECRET }}"
method: PUT method: PUT