99 name : Part 1/3
1010 if : github.repository == 'monero-project/monero-gui'
1111 runs-on : ubuntu-latest
12- container :
13- image : bilelmoussaoui/flatpak-github-actions:kde-5.15-22.08
14- options : --privileged
1512 strategy :
1613 matrix :
1714 arch : [x86_64, aarch64]
15+ container :
16+ image : ghcr.io/flathub-infra/flatpak-github-actions:kde-5.15-23.08
17+ options : --privileged
1818 steps :
1919 - name : Checkout
20- uses : actions/checkout@v3
20+ uses : actions/checkout@v4
2121 with :
2222 submodules : recursive
2323
24- - name : Install deps
25- run : dnf -y install docker
24+ - name : Install Docker
25+ if : ${{ matrix.arch != 'x86_64' }}
26+ run : |
27+ curl https://download.docker.com/linux/static/stable/x86_64/docker-26.0.0.tgz --output ./docker.tgz
28+ tar xzvf docker.tgz
29+ mv docker/* /usr/bin
2630
2731 - name : Setup QEMU
28- uses : docker/setup-qemu-action@v2
29- with :
30- platforms : arm64
32+ if : ${{ matrix.arch != 'x86_64' }}
33+ uses : docker/setup-qemu-action@v3.0.0
34+
35+ - name : Validate Flatpak manifest
36+ run : flatpak-builder-lint manifest share/org.getmonero.Monero.yaml
3137
3238 - name : Build flatpak
33- uses : flatpak /flatpak-github-actions/flatpak-builder@v6
39+ uses : flathub-infra /flatpak-github-actions/flatpak-builder@6d0dd363260c9917f0bca469ec21370bb45a5b9f
3440 env :
3541 FLATPAK_BUILDER_N_JOBS : 3
3642 with :
3743 manifest-path : share/org.getmonero.Monero.yaml
3844 arch : ${{ matrix.arch }}
3945 cache : false
4046 stop-at-module : boost
47+ branch : stable
4148
4249 - name : Tar flatpak-builder
4350 run : tar -cvf flatpak-builder.tar .flatpak-builder
4451
4552 - name : Save flatpak-builder
46- uses : actions/upload-artifact@v3
53+ uses : actions/upload-artifact@v4
4754 with :
4855 name : flatpak-builder-${{ matrix.arch }}
4956 path : flatpak-builder.tar
@@ -53,106 +60,126 @@ jobs:
5360 if : github.repository == 'monero-project/monero-gui'
5461 needs : part1
5562 runs-on : ubuntu-latest
56- container :
57- image : bilelmoussaoui/flatpak-github-actions:kde-5.15-22.08
58- options : --privileged
5963 strategy :
6064 matrix :
6165 arch : [x86_64, aarch64]
66+ container :
67+ image : ghcr.io/flathub-infra/flatpak-github-actions:kde-5.15-23.08
68+ options : --privileged
6269 steps :
6370 - name : Checkout
64- uses : actions/checkout@v3
71+ uses : actions/checkout@v4
6572
66- - name : Install deps
67- run : dnf -y install docker
73+ - name : Install Docker
74+ if : ${{ matrix.arch != 'x86_64' }}
75+ run : |
76+ curl https://download.docker.com/linux/static/stable/x86_64/docker-26.0.0.tgz --output ./docker.tgz
77+ tar xzvf docker.tgz
78+ mv docker/* /usr/bin
6879
6980 - name : Setup QEMU
70- uses : docker/setup-qemu-action@v2
71- with :
72- platforms : arm64
81+ if : ${{ matrix.arch != 'x86_64' }}
82+ uses : docker/setup-qemu-action@v3.0.0
7383
7484 - name : Restore flatpak-builder
75- uses : actions/download-artifact@v3
85+ uses : actions/download-artifact@v4
7686 with :
7787 name : flatpak-builder-${{ matrix.arch }}
7888
7989 - name : Untar flatpak-builder
8090 run : tar -xvf flatpak-builder.tar
8191
8292 - name : Build flatpak
83- uses : flatpak /flatpak-github-actions/flatpak-builder@v6
93+ uses : flathub-infra /flatpak-github-actions/flatpak-builder@6d0dd363260c9917f0bca469ec21370bb45a5b9f
8494 env :
8595 FLATPAK_BUILDER_N_JOBS : 3
8696 with :
8797 manifest-path : share/org.getmonero.Monero.yaml
8898 arch : ${{ matrix.arch }}
8999 cache : false
90100 stop-at-module : monero-gui
101+ branch : stable
91102
92103 - name : Tar flatpak-builder
93104 run : tar -cvf flatpak-builder.tar .flatpak-builder
94105
95106 - name : Save flatpak-builder
96- uses : actions/upload-artifact@v3
107+ uses : actions/upload-artifact@v4
97108 with :
98109 name : flatpak-builder-${{ matrix.arch }}
99110 path : flatpak-builder.tar
111+ overwrite : true
100112
101113 part3 :
102114 name : Part 3/3
103115 if : github.repository == 'monero-project/monero-gui'
104116 needs : [part1, part2]
105117 runs-on : ubuntu-latest
106- container :
107- image : bilelmoussaoui/flatpak-github-actions:kde-5.15-22.08
108- options : --privileged
109118 strategy :
110119 matrix :
111120 arch : [x86_64, aarch64]
121+ container :
122+ image : ghcr.io/flathub-infra/flatpak-github-actions:kde-5.15-23.08
123+ options : --privileged
112124 steps :
113125 - name : Checkout
114- uses : actions/checkout@v3
126+ uses : actions/checkout@v4
115127 with :
116128 submodules : recursive
117129
130+ - name : Install Docker
131+ if : ${{ matrix.arch != 'x86_64' }}
132+ run : |
133+ curl https://download.docker.com/linux/static/stable/x86_64/docker-26.0.0.tgz --output ./docker.tgz
134+ tar xzvf docker.tgz
135+ mv docker/* /usr/bin
136+
137+ - name : Setup QEMU
138+ if : ${{ matrix.arch != 'x86_64' }}
139+ uses : docker/setup-qemu-action@v3.0.0
140+
118141 - name : Add version and date
119142 run : |
120143 sed -i 's/<version>/${{ github.event.release.tag_name }}/g' $GITHUB_WORKSPACE/share/org.getmonero.Monero.metainfo.xml
121144 sed -i 's/<date>/'"$(date '+%F')"'/g' $GITHUB_WORKSPACE/share/org.getmonero.Monero.metainfo.xml
122145
123- - name : Install deps
124- run : dnf -y install docker
125-
126- - name : Setup QEMU
127- uses : docker/setup-qemu-action@v2
128- with :
129- platforms : arm64
130-
131146 - name : Restore flatpak-builder
132- uses : actions/download-artifact@v3
147+ uses : actions/download-artifact@v4
133148 with :
134149 name : flatpak-builder-${{ matrix.arch }}
135150
136151 - name : Untar flatpak-builder
137152 run : tar -xvf flatpak-builder.tar
138153
154+ - name : Delete flatpak-builder
155+ uses : geekyeggo/delete-artifact@v4
156+ with :
157+ name : flatpak-builder-${{ matrix.arch }}
158+
139159 - name : Build flatpak
140- uses : flatpak /flatpak-github-actions/flatpak-builder@v6
160+ uses : flathub-infra /flatpak-github-actions/flatpak-builder@6d0dd363260c9917f0bca469ec21370bb45a5b9f
141161 env :
142162 FLATPAK_BUILDER_N_JOBS : 3
143163 with :
144164 manifest-path : share/org.getmonero.Monero.yaml
145165 arch : ${{ matrix.arch }}
146166 cache : false
167+ branch : stable
168+ mirror-screenshots-url : https://dl.flathub.org/media
147169
148- - name : Validate AppData
149- working-directory : flatpak_app/files/share/appdata
150- run : appstream-util validate org.getmonero.Monero.appdata.xml
170+ - name : Validate AppStream
171+ run : flatpak-builder-lint appstream flatpak_app/files/share/metainfo/org.getmonero.Monero.metainfo.xml
151172
152- - name : Delete flatpak-builder
153- uses : geekyeggo/delete-artifact@v2
154- with :
155- name : flatpak-builder-${{ matrix.arch }}
173+ - name : Verify Icon and Metadata in app-info
174+ run : |
175+ test -f flatpak_app/files/share/app-info/icons/flatpak/128x128/org.getmonero.Monero.png || { echo "::error::Missing 128x128 icon in app-info"; exit 1; }
176+ test -f flatpak_app/files/share/app-info/xmls/org.getmonero.Monero.xml.gz || { echo "::error::Missing org.getmonero.Monero.xml.gz in app-info"; exit 1; }
177+
178+ - name : Validate build directory
179+ run : flatpak-builder-lint builddir flatpak_app
180+
181+ - name : Validate repository
182+ run : flatpak-builder-lint repo repo
156183
157184 - name : Print hashes
158185 working-directory : flatpak_app/files/bin
@@ -166,9 +193,10 @@ jobs:
166193 echo "$ flatpak run --command=sha256sum org.getmonero.Monero /app/bin/monero-wallet-gui" >> $GITHUB_STEP_SUMMARY
167194 echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
168195
169- - name : Publish to Flathub Beta
170- uses : flatpak /flatpak-github-actions/flat-manager@v6
196+ - name : Publish to Flathub
197+ uses : flathub-infra /flatpak-github-actions/flat-manager@6d0dd363260c9917f0bca469ec21370bb45a5b9f
171198 with :
172199 flat-manager-url : https://hub.flathub.org
173- repository : beta
174- token : ${{ secrets.FLATHUB_ }}
200+ repository : stable
201+ build-log-url : https://github.com/monero-project/monero-gui/actions/runs/${{ github.run_id }}
202+ token : ${{ secrets.FLATHUB_TOKEN }}
0 commit comments