detached db98fcd

fix(aur): fix PKGBUILD generation in CI workflow

commit
db98fcdfdaa22aece2d4235443c7c2b9d894acb7
author
bnema · · 2025-12-30 21:35 UTC
parent
f12840f
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
1 file · +53 -40
M .github/workflows/aur.yml +53 -40
@@ -24,6 +24,7 @@ jobs:
2424 VERSION=${TAG#v}
2525 echo "tag=${TAG}" >> $GITHUB_OUTPUT
2626 echo "version=${VERSION}" >> $GITHUB_OUTPUT
27+ echo "Publishing AUR package for $TAG (version $VERSION)"
2728
2829 - name: Wait 1 hour before publishing
2930 run: |
@@ -47,52 +48,64 @@ jobs:
4748 - name: Download checksums
4849 id: checksum
4950 run: |
50- curl -sL "https://github.com/bnema/dumber/releases/download/${{ steps.release.outputs.tag }}/checksums.txt" -o checksums.txt
51+ TAG="${{ steps.release.outputs.tag }}"
52+ curl -sL "https://github.com/bnema/dumber/releases/download/${TAG}/checksums.txt" -o checksums.txt
53+ cat checksums.txt
5154 SHA256=$(grep 'dumber_linux_x86_64.tar.gz' checksums.txt | cut -d' ' -f1)
55+ if [ -z "$SHA256" ]; then
56+ echo "::error::Failed to extract SHA256 from checksums.txt"
57+ exit 1
58+ fi
5259 echo "sha256=${SHA256}" >> $GITHUB_OUTPUT
60+ echo "SHA256: ${SHA256}"
5361
5462 - name: Generate PKGBUILD for dumber-browser-bin
55- env:
56- VERSION: ${{ steps.release.outputs.version }}
57- SHA256: ${{ steps.checksum.outputs.sha256 }}
5863 run: |
64+ VERSION="${{ steps.release.outputs.version }}"
65+ SHA256="${{ steps.checksum.outputs.sha256 }}"
66+
5967 mkdir -p pkgbuild/dumber-browser-bin
60- cat > pkgbuild/dumber-browser-bin/PKGBUILD << EOF
61- # Maintainer: bnema <b at bnema dot dev>
62- pkgname=dumber-browser-bin
63- pkgver=${VERSION}
64- pkgrel=1
65- pkgdesc="A minimal keyboard-driven browser for tiling WMs"
66- arch=('x86_64')
67- url="https://github.com/bnema/dumber"
68- license=('MIT')
69- depends=('gtk4' 'webkitgtk-6.0')
70- optdepends=(
71- 'gstreamer: Media playback support'
72- 'gst-plugins-base: Base media codecs'
73- 'gst-plugins-good: Additional media codecs'
74- 'gst-plugins-bad: Extended media codecs'
75- 'gst-libav: FFmpeg-based codecs'
76- )
77- provides=('dumber-browser' 'dumber')
78- conflicts=('dumber-browser' 'dumber-browser-git')
79- source=("\${pkgname}-\${pkgver}.tar.gz::https://github.com/bnema/dumber/releases/download/v\${pkgver}/dumber_linux_x86_64.tar.gz"
80- "dev.bnema.Dumber.desktop::https://raw.githubusercontent.com/bnema/dumber/v\${pkgver}/dev.bnema.Dumber.desktop"
81- "logo-512.png::https://raw.githubusercontent.com/bnema/dumber/v\${pkgver}/assets/logo-512.png"
82- "LICENSE::https://raw.githubusercontent.com/bnema/dumber/v\${pkgver}/LICENSE")
83- sha256sums=('${SHA256}'
84- 'SKIP'
85- 'SKIP'
86- 'SKIP')
87-
88- package() {
89- cd "dumber_\${pkgver}"
90- install -Dm755 dumber "\${pkgdir}/usr/bin/dumber"
91- install -Dm644 "\${srcdir}/dev.bnema.Dumber.desktop" "\${pkgdir}/usr/share/applications/dev.bnema.Dumber.desktop"
92- install -Dm644 "\${srcdir}/logo-512.png" "\${pkgdir}/usr/share/icons/hicolor/512x512/apps/dev.bnema.Dumber.png"
93- install -Dm644 LICENSE "\${pkgdir}/usr/share/licenses/\${pkgname}/LICENSE"
94- }
95- EOF
68+
69+ # Write PKGBUILD using printf to avoid heredoc issues
70+ printf '%s\n' \
71+ '# Maintainer: bnema <b at bnema dot dev>' \
72+ 'pkgname=dumber-browser-bin' \
73+ "pkgver=${VERSION}" \
74+ 'pkgrel=1' \
75+ 'pkgdesc="A minimal keyboard-driven browser for tiling WMs"' \
76+ "arch=('x86_64')" \
77+ 'url="https://github.com/bnema/dumber"' \
78+ "license=('MIT')" \
79+ "depends=('gtk4' 'webkitgtk-6.0')" \
80+ 'optdepends=(' \
81+ " 'gstreamer: Media playback support'" \
82+ " 'gst-plugins-base: Base media codecs'" \
83+ " 'gst-plugins-good: Additional media codecs'" \
84+ " 'gst-plugins-bad: Extended media codecs'" \
85+ " 'gst-libav: FFmpeg-based codecs'" \
86+ ')' \
87+ "provides=('dumber-browser' 'dumber')" \
88+ "conflicts=('dumber-browser' 'dumber-browser-git')" \
89+ 'source=("${pkgname}-${pkgver}.tar.gz::https://github.com/bnema/dumber/releases/download/v${pkgver}/dumber_linux_x86_64.tar.gz"' \
90+ ' "dev.bnema.Dumber.desktop::https://raw.githubusercontent.com/bnema/dumber/v${pkgver}/dev.bnema.Dumber.desktop"' \
91+ ' "logo-512.png::https://raw.githubusercontent.com/bnema/dumber/v${pkgver}/assets/logo-512.png"' \
92+ ' "LICENSE::https://raw.githubusercontent.com/bnema/dumber/v${pkgver}/LICENSE")' \
93+ "sha256sums=('${SHA256}'" \
94+ " 'SKIP'" \
95+ " 'SKIP'" \
96+ " 'SKIP')" \
97+ '' \
98+ 'package() {' \
99+ ' cd "dumber_${pkgver}"' \
100+ ' install -Dm755 dumber "${pkgdir}/usr/bin/dumber"' \
101+ ' install -Dm644 "${srcdir}/dev.bnema.Dumber.desktop" "${pkgdir}/usr/share/applications/dev.bnema.Dumber.desktop"' \
102+ ' install -Dm644 "${srcdir}/logo-512.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/dev.bnema.Dumber.png"' \
103+ ' install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"' \
104+ '}' \
105+ > pkgbuild/dumber-browser-bin/PKGBUILD
106+
107+ echo "Generated PKGBUILD:"
108+ cat pkgbuild/dumber-browser-bin/PKGBUILD
96109
97110 - name: Publish dumber-browser-bin to AUR
98111 uses: KSXGitHub/github-actions-deploy-aur@v4.1.1
@@ -24,6 +24,7 @@ jobs:
24 VERSION=${TAG#v}24 VERSION=${TAG#v}
25 echo "tag=${TAG}" >> $GITHUB_OUTPUT25 echo "tag=${TAG}" >> $GITHUB_OUTPUT
26 echo "version=${VERSION}" >> $GITHUB_OUTPUT26 echo "version=${VERSION}" >> $GITHUB_OUTPUT
27+ echo "Publishing AUR package for $TAG (version $VERSION)"
27 28
28 - name: Wait 1 hour before publishing29 - name: Wait 1 hour before publishing
29 run: |30 run: |
@@ -47,52 +48,64 @@ jobs:
47 - name: Download checksums48 - name: Download checksums
48 id: checksum49 id: checksum
49 run: |50 run: |
50- curl -sL "https://github.com/bnema/dumber/releases/download/${{ steps.release.outputs.tag }}/checksums.txt" -o checksums.txt51+ TAG="${{ steps.release.outputs.tag }}"
52+ curl -sL "https://github.com/bnema/dumber/releases/download/${TAG}/checksums.txt" -o checksums.txt
53+ cat checksums.txt
51 SHA256=$(grep 'dumber_linux_x86_64.tar.gz' checksums.txt | cut -d' ' -f1)54 SHA256=$(grep 'dumber_linux_x86_64.tar.gz' checksums.txt | cut -d' ' -f1)
55+ if [ -z "$SHA256" ]; then
56+ echo "::error::Failed to extract SHA256 from checksums.txt"
57+ exit 1
58+ fi
52 echo "sha256=${SHA256}" >> $GITHUB_OUTPUT59 echo "sha256=${SHA256}" >> $GITHUB_OUTPUT
60+ echo "SHA256: ${SHA256}"
53 61
54 - name: Generate PKGBUILD for dumber-browser-bin62 - name: Generate PKGBUILD for dumber-browser-bin
55- env:
56- VERSION: ${{ steps.release.outputs.version }}
57- SHA256: ${{ steps.checksum.outputs.sha256 }}
58 run: |63 run: |
64+ VERSION="${{ steps.release.outputs.version }}"
65+ SHA256="${{ steps.checksum.outputs.sha256 }}"
66+
59 mkdir -p pkgbuild/dumber-browser-bin67 mkdir -p pkgbuild/dumber-browser-bin
60- cat > pkgbuild/dumber-browser-bin/PKGBUILD << EOF68+
61- # Maintainer: bnema <b at bnema dot dev>69+ # Write PKGBUILD using printf to avoid heredoc issues
62- pkgname=dumber-browser-bin70+ printf '%s\n' \
63- pkgver=${VERSION}71+ '# Maintainer: bnema <b at bnema dot dev>' \
64- pkgrel=172+ 'pkgname=dumber-browser-bin' \
65- pkgdesc="A minimal keyboard-driven browser for tiling WMs"73+ "pkgver=${VERSION}" \
66- arch=('x86_64')74+ 'pkgrel=1' \
67- url="https://github.com/bnema/dumber"75+ 'pkgdesc="A minimal keyboard-driven browser for tiling WMs"' \
68- license=('MIT')76+ "arch=('x86_64')" \
69- depends=('gtk4' 'webkitgtk-6.0')77+ 'url="https://github.com/bnema/dumber"' \
70- optdepends=(78+ "license=('MIT')" \
71- 'gstreamer: Media playback support'79+ "depends=('gtk4' 'webkitgtk-6.0')" \
72- 'gst-plugins-base: Base media codecs'80+ 'optdepends=(' \
73- 'gst-plugins-good: Additional media codecs'81+ " 'gstreamer: Media playback support'" \
74- 'gst-plugins-bad: Extended media codecs'82+ " 'gst-plugins-base: Base media codecs'" \
75- 'gst-libav: FFmpeg-based codecs'83+ " 'gst-plugins-good: Additional media codecs'" \
76- )84+ " 'gst-plugins-bad: Extended media codecs'" \
77- provides=('dumber-browser' 'dumber')85+ " 'gst-libav: FFmpeg-based codecs'" \
78- conflicts=('dumber-browser' 'dumber-browser-git')86+ ')' \
79- source=("\${pkgname}-\${pkgver}.tar.gz::https://github.com/bnema/dumber/releases/download/v\${pkgver}/dumber_linux_x86_64.tar.gz"87+ "provides=('dumber-browser' 'dumber')" \
80- "dev.bnema.Dumber.desktop::https://raw.githubusercontent.com/bnema/dumber/v\${pkgver}/dev.bnema.Dumber.desktop"88+ "conflicts=('dumber-browser' 'dumber-browser-git')" \
81- "logo-512.png::https://raw.githubusercontent.com/bnema/dumber/v\${pkgver}/assets/logo-512.png"89+ 'source=("${pkgname}-${pkgver}.tar.gz::https://github.com/bnema/dumber/releases/download/v${pkgver}/dumber_linux_x86_64.tar.gz"' \
82- "LICENSE::https://raw.githubusercontent.com/bnema/dumber/v\${pkgver}/LICENSE")90+ ' "dev.bnema.Dumber.desktop::https://raw.githubusercontent.com/bnema/dumber/v${pkgver}/dev.bnema.Dumber.desktop"' \
83- sha256sums=('${SHA256}'91+ ' "logo-512.png::https://raw.githubusercontent.com/bnema/dumber/v${pkgver}/assets/logo-512.png"' \
84- 'SKIP'92+ ' "LICENSE::https://raw.githubusercontent.com/bnema/dumber/v${pkgver}/LICENSE")' \
85- 'SKIP'93+ "sha256sums=('${SHA256}'" \
86- 'SKIP')94+ " 'SKIP'" \
87-95+ " 'SKIP'" \
88- package() {96+ " 'SKIP')" \
89- cd "dumber_\${pkgver}"97+ '' \
90- install -Dm755 dumber "\${pkgdir}/usr/bin/dumber"98+ 'package() {' \
91- install -Dm644 "\${srcdir}/dev.bnema.Dumber.desktop" "\${pkgdir}/usr/share/applications/dev.bnema.Dumber.desktop"99+ ' cd "dumber_${pkgver}"' \
92- install -Dm644 "\${srcdir}/logo-512.png" "\${pkgdir}/usr/share/icons/hicolor/512x512/apps/dev.bnema.Dumber.png"100+ ' install -Dm755 dumber "${pkgdir}/usr/bin/dumber"' \
93- install -Dm644 LICENSE "\${pkgdir}/usr/share/licenses/\${pkgname}/LICENSE"101+ ' install -Dm644 "${srcdir}/dev.bnema.Dumber.desktop" "${pkgdir}/usr/share/applications/dev.bnema.Dumber.desktop"' \
94- }102+ ' install -Dm644 "${srcdir}/logo-512.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/dev.bnema.Dumber.png"' \
95- EOF103+ ' install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"' \
104+ '}' \
105+ > pkgbuild/dumber-browser-bin/PKGBUILD
106+
107+ echo "Generated PKGBUILD:"
108+ cat pkgbuild/dumber-browser-bin/PKGBUILD
96 109
97 - name: Publish dumber-browser-bin to AUR110 - name: Publish dumber-browser-bin to AUR
98 uses: KSXGitHub/github-actions-deploy-aur@v4.1.1111 uses: KSXGitHub/github-actions-deploy-aur@v4.1.1

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close