Skip to content

[codex] Add release AppImage CI#1231

Open
vitaly-zdanevich wants to merge 1 commit into
jliljebl:masterfrom
vitaly-zdanevich:codex/appimage-release-ci-test
Open

[codex] Add release AppImage CI#1231
vitaly-zdanevich wants to merge 1 commit into
jliljebl:masterfrom
vitaly-zdanevich:codex/appimage-release-ci-test

Conversation

@vitaly-zdanevich

@vitaly-zdanevich vitaly-zdanevich commented Jun 19, 2026

Copy link
Copy Markdown

Summary

Adds automated AppImage packaging for Flowblade releases, with a reusable local build script and CI validation path.

The workflow builds an x86_64 AppImage on release events, uploads it as a workflow artifact, and attaches it to the GitHub release when the event is an actual release. It can also be run on the validation branch used for this PR.

Prepared with Codex (GPT-5, xhigh reasoning).

Runtime Packaging

  • Bundles Flowblade runtime dependencies, Python GI typelibs, GTK/GDK resources, MLT plugins/data, fonts, translations, pixbuf loaders, and supporting shared libraries.
  • Configures the AppImage launcher for X11 GTK/SDL backends by default, which avoids missing Wayland library failures on non-Wayland hosts.
  • Sets AppImage-local fontconfig and GDK pixbuf paths.
  • Includes fixes for missing runtime pieces found during manual and CI smoke testing, including typelibs such as xlib/HarfBuzz and libraries such as libwayland-client and libcom_err.

Smoke Tests

  • Adds a direct AppImage startup smoke test.
  • Adds container smoke coverage for Ubuntu 22.04, Ubuntu 24.04, Debian 12, Debian 13, Fedora, Arch Linux, and openSUSE Tumbleweed.
  • Leaves Gentoo as an optional smoke image because the currently tested Gentoo binary package path did not provide the required Xvfb package reliably enough for default CI.
  • Uses dummy SDL audio during CI smoke tests so headless runners without an audio device do not fail after Flowblade reaches playback initialization.

Flowblade Runtime Fix

Fixes the MLT SDL consumer selection for the bundled Ubuntu 22.04 MLT 7.4 runtime. The previous version comparison used string ordering, so 7.4.0 was treated as newer than 7.28.0 and Flowblade selected the SDL2 path. That caused the separate black MLT window during AppImage playback tests.

This PR restores the SDL1 path for MLT versions older than 7.28.0 and keeps the SDL2 path available for newer MLT versions or explicit force mode.

Validation

  • bash -n packaging/appimage/build-appimage.sh packaging/appimage/smoke-test-appimage.sh packaging/appimage/smoke-test-appimage-containers.sh
  • python3 -m py_compile flowblade-trunk/Flowblade/src/app.py flowblade-trunk/Flowblade/src/editorstate.py flowblade-trunk/Flowblade/src/tools/scripttool.py flowblade-trunk/Flowblade/src/tools/gmic.py
  • Local rebuilt AppImage smoke passed with SDL1 consumer startup.
  • Manual Gentoo/X11 AppImage run confirmed by tester after the SDL consumer fix.
  • Fork CI passed on the squashed commit: https://github.com/vitaly-zdanevich/flowblade/actions/runs/27852951649

@vitaly-zdanevich vitaly-zdanevich force-pushed the codex/appimage-release-ci-test branch from bf19c0b to f553d89 Compare June 19, 2026 22:11
@vitaly-zdanevich vitaly-zdanevich marked this pull request as ready for review June 19, 2026 22:12
@vitaly-zdanevich vitaly-zdanevich marked this pull request as draft June 19, 2026 22:12
@vitaly-zdanevich

vitaly-zdanevich commented Jun 19, 2026

Copy link
Copy Markdown
Author

@Samueru-sama
@ivan-hc

Feel free to review.

@vitaly-zdanevich vitaly-zdanevich marked this pull request as ready for review June 19, 2026 22:13
@vitaly-zdanevich vitaly-zdanevich marked this pull request as draft June 19, 2026 22:23
@vitaly-zdanevich vitaly-zdanevich force-pushed the codex/appimage-release-ci-test branch from f553d89 to 495b8f2 Compare June 19, 2026 22:31
@vitaly-zdanevich vitaly-zdanevich marked this pull request as ready for review June 19, 2026 22:32
@vitaly-zdanevich vitaly-zdanevich marked this pull request as draft June 19, 2026 22:51
@vitaly-zdanevich vitaly-zdanevich force-pushed the codex/appimage-release-ci-test branch from 495b8f2 to 187c5a0 Compare June 19, 2026 23:12
@vitaly-zdanevich vitaly-zdanevich marked this pull request as ready for review June 19, 2026 23:19
@vitaly-zdanevich vitaly-zdanevich force-pushed the codex/appimage-release-ci-test branch from 187c5a0 to 67bdd51 Compare June 19, 2026 23:26
@ivan-hc

ivan-hc commented Jun 19, 2026

Copy link
Copy Markdown

@Samueru-sama @ivan-hc

Feel free to review.

Your coding is far from my understanding, I use other methods to package AppImages. I can't help much.

Comment thread flowblade-trunk/Flowblade/src/process/gmicheadless.py Outdated
Made by Codex gpt-5.5 xhigh.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants