flatpak.yml RawHistoryFolder

1name: Flatpak
2
3on:
4  push:
5    tags:
6      - 'v*'
7  workflow_dispatch:
8    inputs:
9      tag:
10        description: 'Release tag to build (e.g., v0.23.0)'
11        required: true
12
13permissions:
14  contents: write
15
16jobs:
17  flatpak:
18    name: Build Flatpak
19    runs-on: ubuntu-latest
20    container:
21      image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-48
22      options: --privileged
23    steps:
24      - uses: actions/checkout@v7.0.1
25
26      - name: Get version
27        id: version
28        run: |
29          if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
30            VERSION="${{ github.event.inputs.tag }}"
31          else
32            VERSION="${GITHUB_REF#refs/tags/}"
33          fi
34          echo "version=$VERSION" >> $GITHUB_OUTPUT
35          echo "Building Flatpak for version: $VERSION"
36
37      - name: Wait for release assets
38        run: |
39          VERSION="${{ steps.version.outputs.version }}"
40          URL="https://github.com/bnema/dumber/releases/download/${VERSION}/dumber_linux_x86_64.tar.gz"
41          echo "Waiting for release asset: $URL"
42          for i in $(seq 1 30); do
43            if curl -sL --fail -o /dev/null "$URL"; then
44              echo "Release asset available!"
45              exit 0
46            fi
47            echo "Attempt $i/30: Asset not ready, waiting 10s..."
48            sleep 10
49          done
50          echo "Timeout waiting for release asset"
51          exit 1
52
53      - name: Download and compute SHA256
54        id: sha256
55        run: |
56          VERSION="${{ steps.version.outputs.version }}"
57          URL="https://github.com/bnema/dumber/releases/download/${VERSION}/dumber_linux_x86_64.tar.gz"
58          SHA256=$(curl -sL "$URL" | sha256sum | cut -d' ' -f1)
59          echo "sha256=$SHA256" >> $GITHUB_OUTPUT
60          echo "SHA256: $SHA256"
61
62      - name: Generate manifest
63        run: |
64          VERSION="${{ steps.version.outputs.version }}"
65          SHA256="${{ steps.sha256.outputs.sha256 }}"
66          cat > dev.bnema.Dumber.yml << EOF
67          id: dev.bnema.Dumber
68          runtime: org.gnome.Platform
69          runtime-version: '48'
70          sdk: org.gnome.Sdk
71          command: dumber
72
73          finish-args:
74            - --socket=wayland
75            - --device=dri
76            - --share=network
77            - --socket=pulseaudio
78            - --device=all
79            - --filesystem=xdg-download
80            - --filesystem=home:ro
81            - --filesystem=xdg-run/pipewire-0:ro
82
83          modules:
84            - name: dumber
85              buildsystem: simple
86              build-commands:
87                - install -Dm755 dumber /app/bin/dumber
88                - install -Dm644 dev.bnema.Dumber.desktop /app/share/applications/dev.bnema.Dumber.desktop
89                - install -Dm644 logo.svg /app/share/icons/hicolor/scalable/apps/dev.bnema.Dumber.svg
90                - install -Dm644 logo-512.png /app/share/icons/hicolor/512x512/apps/dev.bnema.Dumber.png
91                - install -Dm644 dev.bnema.Dumber.metainfo.xml /app/share/metainfo/dev.bnema.Dumber.metainfo.xml
92              sources:
93                - type: archive
94                  url: https://github.com/bnema/dumber/releases/download/${VERSION}/dumber_linux_x86_64.tar.gz
95                  sha256: ${SHA256}
96                - type: file
97                  path: flatpak/dev.bnema.Dumber.desktop
98                  dest-filename: dev.bnema.Dumber.desktop
99                - type: file
100                  path: assets/logo.svg
101                  dest-filename: logo.svg
102                - type: file
103                  path: assets/logo-512.png
104                  dest-filename: logo-512.png
105                - type: file
106                  path: flatpak/dev.bnema.Dumber.metainfo.xml
107                  dest-filename: dev.bnema.Dumber.metainfo.xml
108          EOF
109          echo "Generated manifest:"
110          cat dev.bnema.Dumber.yml
111
112      - uses: flatpak/flatpak-github-actions/flatpak-builder@v6
113        with:
114          bundle: dumber.flatpak
115          manifest-path: dev.bnema.Dumber.yml
116          cache-key: flatpak-builder-${{ steps.version.outputs.version }}
117
118      - name: Upload Flatpak to Release
119        uses: softprops/action-gh-release@v3
120        with:
121          tag_name: ${{ steps.version.outputs.version }}
122          files: dumber.flatpak
123        env:
124          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

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