Skip to content

Commit 028200a

Browse files
authored
fix: clean up release artifact names, improve Linux icon rendering (#11)
1 parent eda1572 commit 028200a

16 files changed

Lines changed: 139 additions & 35 deletions

.github/workflows/build_linux.yaml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,19 @@ jobs:
5454
sed -i "s/^Version=.*/Version=${VERSION:1}/" assets/desktop-assets/debrief.desktop
5555
5656
- name: Build linux ${{ matrix.arch }} tarball
57-
run: make build_linux LINUX_ARCH=${{ matrix.arch }}
57+
run: make build_linux LINUX_ARCH=${{ matrix.arch }} TAG_NAME=${{ github.ref_name }}
5858

5959
- name: Build deb package
60-
run: make build_deb LINUX_ARCH=${{ matrix.arch }}
60+
run: make build_deb LINUX_ARCH=${{ matrix.arch }} TAG_NAME=${{ github.ref_name }}
6161

6262
- name: Build rpm package
63-
run: make build_rpm LINUX_ARCH=${{ matrix.arch }}
63+
run: make build_rpm LINUX_ARCH=${{ matrix.arch }} TAG_NAME=${{ github.ref_name }}
6464

6565
- name: Build Arch Linux package
66-
run: make build_archlinux LINUX_ARCH=${{ matrix.arch }}
66+
run: make build_archlinux LINUX_ARCH=${{ matrix.arch }} TAG_NAME=${{ github.ref_name }}
67+
68+
- name: Clean up build artifacts
69+
run: make clean_linux
6770

6871
- name: Upload Release Assets
6972
run: |

.github/workflows/build_macos.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
with:
2222
go-version: 1.25.0
2323

24-
- name: Install gogio tool
24+
- name: Install deps
2525
run: make install_deps
2626

2727
- name: Install create-dmg and librsvg tools
@@ -52,9 +52,9 @@ jobs:
5252
5353
- name: Build and sign macOS app
5454
run: |
55-
make build_macos_signed
56-
make notarize_macos
57-
make build_macos_dmg
55+
make build_macos_signed TAG_NAME=${{ github.ref_name }}
56+
make notarize_macos TAG_NAME=${{ github.ref_name }}
57+
make build_macos_dmg TAG_NAME=${{ github.ref_name }}
5858
env:
5959
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
6060
IDENTITY: ${{ secrets.IDENTITY }}
@@ -63,8 +63,8 @@ jobs:
6363

6464
- name: Upload Release Asset
6565
run: |
66-
gh release upload ${{github.event.release.tag_name}} ./dist/debrief-macos-${{ github.ref_name }}-amd64.dmg
67-
gh release upload ${{github.event.release.tag_name}} ./dist/debrief-macos-${{ github.ref_name }}-arm64.dmg
66+
gh release upload ${{ github.event.release.tag_name }} ./dist/debrief-macos-${{ github.ref_name }}-amd64.dmg
67+
gh release upload ${{ github.event.release.tag_name }} ./dist/debrief-macos-${{ github.ref_name }}-arm64.dmg
6868
env:
6969
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7070
shell: bash

.github/workflows/build_windows.yml

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,33 @@ jobs:
2727
run: dotnet tool install --global wix
2828

2929
- name: Build windows
30-
run: make build_windows
30+
run: make build_windows TAG_NAME=${{ github.ref_name }}
3131

3232
- name: Build MSI installers
33-
run: make build_windows_msi
33+
run: make build_windows_msi TAG_NAME=${{ github.ref_name }}
3434
env:
3535
TAG_NAME: ${{ github.ref_name }}
3636

3737
- name: Rename EXE artifacts
3838
run: |
39-
mv "dist/amd64/${APP_NAME}.exe" "dist/debrief-windows-${{ github.ref_name }}-amd64.exe"
40-
mv "dist/arm64/${APP_NAME}.exe" "dist/debrief-windows-${{ github.ref_name }}-arm64.exe"
39+
mv "dist/amd64/${APP_NAME}.exe" "dist/debrief-windows-portable-${{ github.ref_name }}-amd64.exe"
40+
mv "dist/arm64/${APP_NAME}.exe" "dist/debrief-windows-portable-${{ github.ref_name }}-arm64.exe"
4141
shell: bash
4242
env:
4343
APP_NAME: Debrief
4444

45+
- name: Rename MSI artifacts
46+
run: |
47+
mv "dist/debrief-windows-${{ github.ref_name }}-amd64.msi" "dist/debrief-windows-installer-${{ github.ref_name }}-amd64.msi"
48+
mv "dist/debrief-windows-${{ github.ref_name }}-arm64.msi" "dist/debrief-windows-installer-${{ github.ref_name }}-arm64.msi"
49+
shell: bash
50+
4551
- name: Upload Release Asset
4652
run: |
47-
gh release upload ${{ github.event.release.tag_name }} dist/debrief-windows-${{ github.ref_name }}-amd64.exe
48-
gh release upload ${{ github.event.release.tag_name }} dist/debrief-windows-${{ github.ref_name }}-arm64.exe
49-
gh release upload ${{ github.event.release.tag_name }} dist/debrief-windows-${{ github.ref_name }}-amd64.msi
50-
gh release upload ${{ github.event.release.tag_name }} dist/debrief-windows-${{ github.ref_name }}-arm64.msi
53+
gh release upload ${{ github.event.release.tag_name }} dist/debrief-windows-portable-${{ github.ref_name }}-amd64.exe
54+
gh release upload ${{ github.event.release.tag_name }} dist/debrief-windows-portable-${{ github.ref_name }}-arm64.exe
55+
gh release upload ${{ github.event.release.tag_name }} dist/debrief-windows-installer-${{ github.ref_name }}-amd64.msi
56+
gh release upload ${{ github.event.release.tag_name }} dist/debrief-windows-installer-${{ github.ref_name }}-arm64.msi
5157
env:
5258
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5359
shell: bash

Makefile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
TAG_NAME?=$(shell git describe --tags --dirty --abbrev=0 2>/dev/null || echo $(shell git rev-parse --short HEAD)-dirty)
1+
TAG_NAME?=$(shell git describe --tags --abbrev=0 2>/dev/null || echo $(shell git rev-parse --short HEAD))
22
# MSI requires strictly numeric X.Y.Z version (no "v" prefix, no suffixes like "-dirty" or "-rc1")
33
MSI_VERSION=$(shell echo $(TAG_NAME) | sed 's/^v//' | grep -oE '^[0-9]+\.[0-9]+\.[0-9]+' || echo "0.0.0")
44
APP_NAME="Debrief"
@@ -180,28 +180,28 @@ build_linux_binary:
180180
build_linux: build_linux_binary
181181
@echo "Packaging Linux $(LINUX_ARCH) tarball..."
182182
cp ./assets/install_linux.sh ./dist/linux
183-
cp ./assets/appicon.png ./dist/linux
183+
cp -r ./assets/linux-icons ./dist/linux
184184
cp ./LICENSE ./dist/linux
185185
cp -r ./assets/desktop-assets ./dist/linux
186-
tar -cJf ./dist/${APP_NAME_LOWERCASE}-$(TAG_NAME)-$(LINUX_ARCH).tar.xz --directory=./dist/linux ${APP_NAME_LOWERCASE} desktop-assets install_linux.sh appicon.png ./LICENSE
187-
rm -rf ./dist/linux
186+
tar -cJf ./dist/${APP_NAME_LOWERCASE}-$(TAG_NAME)-$(LINUX_ARCH).tar.xz --directory=./dist/linux ${APP_NAME_LOWERCASE} desktop-assets install_linux.sh linux-icons ./LICENSE
188187

189188
.PHONY: build_deb
190189
build_deb: build_linux_binary
191190
@echo "Building deb $(LINUX_ARCH) package..."
192191
ARCH=$(LINUX_ARCH) VERSION=$(TAG_NAME:v%=%) nfpm package --packager deb --target ./dist/${APP_NAME_LOWERCASE}-$(TAG_NAME)-$(LINUX_ARCH).deb
193-
rm -rf ./dist/linux
194192

195193
.PHONY: build_rpm
196194
build_rpm: build_linux_binary
197195
@echo "Building rpm $(LINUX_ARCH) package..."
198196
ARCH=$(LINUX_ARCH) VERSION=$(TAG_NAME:v%=%) nfpm package --packager rpm --target ./dist/${APP_NAME_LOWERCASE}-$(TAG_NAME)-$(LINUX_ARCH).rpm
199-
rm -rf ./dist/linux
200197

201198
.PHONY: build_archlinux
202199
build_archlinux: build_linux_binary
203200
@echo "Building Arch Linux $(LINUX_ARCH) package..."
204201
ARCH=$(LINUX_ARCH) VERSION=$(TAG_NAME:v%=%) nfpm package --packager archlinux --target ./dist/${APP_NAME_LOWERCASE}-$(TAG_NAME)-$(LINUX_ARCH).pkg.tar.zst
202+
203+
.PHONY: clean_linux
204+
clean_linux:
205205
rm -rf ./dist/linux
206206

207207
.PHONY: run

assets/appicon-linux.svg

Lines changed: 22 additions & 0 deletions
Loading

assets/install_linux.sh

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ BASEDIR=$(dirname "$(realpath "$0")")
77
PREFIX=${PREFIX:-/usr/local}
88
BIN_DIR="$PREFIX/bin"
99
APP_DIR="$PREFIX/share/applications"
10-
ICON_DIR="$PREFIX/share/icons/hicolor/256x256/apps"
10+
ICON_BASE="$PREFIX/share/icons/hicolor"
11+
ICON_SIZES=(16 24 32 48 64 128 256 512)
1112

1213
usage() {
1314
echo "Usage: $0 [--uninstall]"
@@ -77,13 +78,18 @@ validate_source_files() {
7778
local missing=0
7879
for f in \
7980
"$BASEDIR/$APP_NAME" \
80-
"$BASEDIR/desktop-assets/$APP_NAME.desktop" \
81-
"$BASEDIR/appicon.png"; do
81+
"$BASEDIR/desktop-assets/$APP_NAME.desktop"; do
8282
if [ ! -f "$f" ]; then
8383
echo "Error: missing required file: $f" >&2
8484
missing=1
8585
fi
8686
done
87+
for size in "${ICON_SIZES[@]}"; do
88+
if [ ! -f "$BASEDIR/linux-icons/$APP_NAME-${size}.png" ]; then
89+
echo "Error: missing required file: $BASEDIR/linux-icons/$APP_NAME-${size}.png" >&2
90+
missing=1
91+
fi
92+
done
8793
if [ "$missing" -ne 0 ]; then
8894
exit 1
8995
fi
@@ -94,7 +100,7 @@ refresh_desktop_database() {
94100
update-desktop-database "$APP_DIR" 2>/dev/null || true
95101
fi
96102
if command -v gtk-update-icon-cache &>/dev/null; then
97-
gtk-update-icon-cache -f -t "$PREFIX/share/icons/hicolor" 2>/dev/null || true
103+
gtk-update-icon-cache -f -t "$ICON_BASE" 2>/dev/null || true
98104
fi
99105
}
100106

@@ -104,7 +110,9 @@ do_uninstall() {
104110
echo "Uninstalling $APP_NAME from $PREFIX..."
105111
rm -fv "$BIN_DIR/$APP_NAME"
106112
rm -fv "$APP_DIR/$APP_NAME.desktop"
107-
rm -fv "$ICON_DIR/$APP_NAME.png"
113+
for size in "${ICON_SIZES[@]}"; do
114+
rm -fv "$ICON_BASE/${size}x${size}/apps/$APP_NAME.png"
115+
done
108116
refresh_desktop_database
109117
echo "Done."
110118
exit 0
@@ -125,9 +133,11 @@ do_install() {
125133
install -Dm644 "$BASEDIR/desktop-assets/$APP_NAME.desktop" "$APP_DIR/$APP_NAME.desktop"
126134
echo " -> $APP_DIR/$APP_NAME.desktop"
127135

128-
# Icon
129-
install -Dm644 "$BASEDIR/appicon.png" "$ICON_DIR/$APP_NAME.png"
130-
echo " -> $ICON_DIR/$APP_NAME.png"
136+
# Icons (multiple sizes for crisp rendering at all DPIs)
137+
for size in "${ICON_SIZES[@]}"; do
138+
install -Dm644 "$BASEDIR/linux-icons/$APP_NAME-${size}.png" "$ICON_BASE/${size}x${size}/apps/$APP_NAME.png"
139+
echo " -> $ICON_BASE/${size}x${size}/apps/$APP_NAME.png"
140+
done
131141

132142
refresh_desktop_database
133143

assets/linux-icons/debrief-128.png

7.3 KB
Loading

assets/linux-icons/debrief-16.png

1.2 KB
Loading

assets/linux-icons/debrief-24.png

1.71 KB
Loading

assets/linux-icons/debrief-256.png

14 KB
Loading

0 commit comments

Comments
 (0)