[vlc-commits] [Git][videolan/vlc][3.0.x] ci: fix and improve flatpak build

Felix Paul Kühne (@fkuehne) gitlab at videolan.org
Sun May 31 12:24:15 UTC 2026



Felix Paul Kühne pushed to branch 3.0.x at VideoLAN / VLC


Commits:
63f835a0 by Mathieu Velten at 2026-05-31T13:05:37+02:00
ci: fix and improve flatpak build

- normalize how we build and merge the repos of the 2 archs
- fix the manifest, GIT_HASH was never replaced
- remove expire on artifacts even if they are temporary, since
build stages can be relaunch later if they fail

- - - - -


3 changed files:

- extras/ci/gitlab-ci.yml
- extras/package/flatpak/org.videolan.VLC.yaml
- extras/package/flatpak/vlc-fix-appdata.patch → extras/package/flatpak/vlc-appdata-manifest-url.patch


Changes:

=====================================
extras/ci/gitlab-ci.yml
=====================================
@@ -350,17 +350,18 @@ nightly-debian:
         FLATPAK_BRANCH: 3.0.x
         MANIFEST_PATH: extras/package/flatpak/org.videolan.VLC.yaml
     script:
-        - flatpak-builder-lint --exceptions manifest ${MANIFEST_PATH}
+        - flatpak-builder-lint --exceptions --exceptions-repo stable manifest ${MANIFEST_PATH}
         - flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
-        - flatpak-builder --default-branch ${FLATPAK_BRANCH} --user --install-deps-from=flathub --disable-rofiles-fuse --disable-updates --force-clean --ccache --mirror-screenshots-url=https://dl.flathub.org/media/ build-${HOST_ARCH} ${MANIFEST_PATH}
+        - flatpak-builder --default-branch ${FLATPAK_BRANCH} --install-deps-from=flathub --user --arch=${HOST_ARCH} --force-clean --disable-rofiles-fuse --ccache --mirror-screenshots-url=https://dl.flathub.org/media --compose-url-policy=full --repo=repo-${HOST_ARCH} build ${MANIFEST_PATH}
+        - flatpak build-bundle --runtime-repo=https://dl.flathub.org/repo/flathub.flatpakrepo repo-${HOST_ARCH} org.videolan.VLC_${HOST_ARCH}.flatpak org.videolan.VLC ${FLATPAK_BRANCH}
     cache:
         key: flatpak-ccache-${HOST_ARCH}
         paths:
             - .flatpak-builder/ccache/
     artifacts:
         paths:
-            - build-${HOST_ARCH}
-        expire_in: 1 day
+            - repo-${HOST_ARCH}
+            - org.videolan.VLC_${HOST_ARCH}.flatpak
 
 flatpak-x86_64:
     extends: .flatpak-common
@@ -416,17 +417,19 @@ flatpak-repo:
         name: $VLC_FLATPAK_IMAGE
         entrypoint: [""]
     script:
-        - flatpak build-export --exclude=/lib/debug/* --include=/lib/debug/app repo build-x86_64
-        - flatpak build-export --metadata=metadata.debuginfo --files=files/lib/debug repo build-x86_64
-        - flatpak build-export --exclude=/lib/debug/* --include=/lib/debug/app repo build-aarch64
-        - flatpak build-export --metadata=metadata.debuginfo --files=files/lib/debug repo build-aarch64
-        - ostree commit --repo=repo --canonical-permissions --branch=screenshots/x86_64 build-x86_64/files/share/app-info/media
-        - ostree commit --repo=repo --canonical-permissions --branch=screenshots/aarch64 build-aarch64/files/share/app-info/media
-        - flatpak-builder-lint --exceptions repo repo || true
+        - ostree init --repo=repo --mode archive-z2
+        - for ref in $(ostree --repo=repo-x86_64 refs); do
+            flatpak build-commit-from --no-update-summary --disable-fsync --src-repo=repo-x86_64 repo "$ref";
+          done
+        - for ref in $(ostree --repo=repo-aarch64 refs); do
+            flatpak build-commit-from --no-update-summary --disable-fsync --src-repo=repo-aarch64 repo "$ref";
+          done
+        - flatpak build-update-repo --generate-static-deltas --static-delta-ignore-ref=*.Debug --static-delta-ignore-ref=*.Sources repo
+        - flatpak-builder-lint --exceptions --exceptions-repo stable repo repo
+        - tar -czf repository.tar.gz repo/
     artifacts:
         paths:
-          - repo
-        expire_in: 1 week
+          - repository.tar.gz
     dependencies:
       - flatpak-x86_64
       - flatpak-aarch64


=====================================
extras/package/flatpak/org.videolan.VLC.yaml
=====================================
@@ -107,7 +107,7 @@ modules:
         skip:
           - contrib
       - type: patch
-        path: vlc-fix-appdata.patch
+        path: vlc-appdata-manifest-url.patch
       - type: file
         path: vlc.sh
 


=====================================
extras/package/flatpak/vlc-fix-appdata.patch → extras/package/flatpak/vlc-appdata-manifest-url.patch
=====================================
@@ -1,3 +1,15 @@
+diff --git a/share/Makefile.am b/share/Makefile.am
+index a6c0ac1083..f06f062369 100644
+--- a/share/Makefile.am
++++ b/share/Makefile.am
+@@ -24,6 +24,7 @@ CLEANFILES += $(desktop_DATA) $(appdata_DATA)
+ 	$(AM_V_at)mv -f tmp-$@ $@
+ 
+ org.videolan.vlc.appdata.xml: org.videolan.vlc.appdata.xml.in
++	sed -i -e "s,\@GIT_HASH\@,$$(git rev-parse HEAD),g" $<
+ 	$(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ || cp $< $@
+ 
+ iconsdatadir = $(datadir)/icons/hicolor
 diff --git a/share/org.videolan.vlc.appdata.xml.in.in b/share/org.videolan.vlc.appdata.xml.in.in
 index 62bd7ee443..28fc24fd94 100644
 --- a/share/org.videolan.vlc.appdata.xml.in.in



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/63f835a00913f8c515f33a0a2f8ece296344c958

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/63f835a00913f8c515f33a0a2f8ece296344c958
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help




More information about the vlc-commits mailing list