Build the Flatpak on pull requests and main, and publish releases from tags #4

Merged
GrumpyStraw merged 2 commits from ci/flatpak-releases into main 2026-10-11 10:52:39 +02:00
Owner

Build on pull requests and main

.forgejo/workflows/build.yml runs the unit tests and builds the Flatpak bundle on every pull request and every push to main. The bundle is kept as a workflow artifact for 30 days, named like strawly-music-0.1.0-ac67e06-x86_64.flatpak.

  • Runs on the Strawly-Music runner on TrueNAS (label flatpak), in ghcr.io/flathub-infra/flatpak-github-actions:kde-6.11, which has flatpak-builder and the KDE 6.11 SDK preinstalled.
  • The manifest builds with -DBUILD_TESTING=OFF, so the tests are built and run separately with flatpak run in org.kde.Sdk//6.11.
  • The runner's job containers are privileged, because flatpak-builder needs user namespaces for bubblewrap. The repository is public, so pull requests from forks do not run. Push a fork's branch here to build it.
  • Branch protection on main requires the build / build (pull_request) check to pass before merging.

Releases from tags

Pushing a tag like v0.2.0 runs the same build, then creates a Forgejo release with the .flatpak attached (actions/forgejo-release, using the automatic job token).

  • The build fails unless the tag matches project(strawly-music VERSION ...) in CMakeLists.txt and data/app.strawly.music.metainfo.xml has a matching <release> entry.
  • A tag with a dash, such as v0.2.0-rc.1, is published as a pre-release.
  • The bundle carries Flathub as its runtime source, so flatpak install --user strawly-music-0.2.0-x86_64.flatpak also installs org.kde.Platform//6.11.

Checked locally

The test step and the bundle step pass on this machine with the same commands: both tests pass in the SDK, and the bundle builds with the binary inside. This pull request is the first run on the runner.

## Build on pull requests and main `.forgejo/workflows/build.yml` runs the unit tests and builds the Flatpak bundle on every pull request and every push to `main`. The bundle is kept as a workflow artifact for 30 days, named like `strawly-music-0.1.0-ac67e06-x86_64.flatpak`. - Runs on the Strawly-Music runner on TrueNAS (label `flatpak`), in `ghcr.io/flathub-infra/flatpak-github-actions:kde-6.11`, which has `flatpak-builder` and the KDE 6.11 SDK preinstalled. - The manifest builds with `-DBUILD_TESTING=OFF`, so the tests are built and run separately with `flatpak run` in `org.kde.Sdk//6.11`. - The runner's job containers are privileged, because `flatpak-builder` needs user namespaces for bubblewrap. The repository is public, so pull requests from forks do not run. Push a fork's branch here to build it. - Branch protection on `main` requires the `build / build (pull_request)` check to pass before merging. ## Releases from tags Pushing a tag like `v0.2.0` runs the same build, then creates a Forgejo release with the `.flatpak` attached (`actions/forgejo-release`, using the automatic job token). - The build fails unless the tag matches `project(strawly-music VERSION ...)` in `CMakeLists.txt` and `data/app.strawly.music.metainfo.xml` has a matching `<release>` entry. - A tag with a dash, such as `v0.2.0-rc.1`, is published as a pre-release. - The bundle carries Flathub as its runtime source, so `flatpak install --user strawly-music-0.2.0-x86_64.flatpak` also installs `org.kde.Platform//6.11`. ## Checked locally The test step and the bundle step pass on this machine with the same commands: both tests pass in the SDK, and the bundle builds with the binary inside. This pull request is the first run on the runner.
Build the Flatpak on pull requests and main, and publish releases from tags
Some checks failed
build / build (pull_request) Failing after 6m20s
build / release (pull_request) Has been skipped
ac67e06f8c
Use Forgejo's artifact actions, since the upstream v4 ones only run on github.com
Some checks failed
build / release (pull_request) Has been cancelled
build / build (pull_request) Has been cancelled
eda4d1b5bb
GrumpyStraw force-pushed ci/flatpak-releases from eda4d1b5bb
Some checks failed
build / release (pull_request) Has been cancelled
build / build (pull_request) Has been cancelled
to 539dc29b90
All checks were successful
build / build (pull_request) Successful in 2m13s
build / release (pull_request) Has been skipped
2026-10-11 10:48:49 +02:00
Compare
GrumpyStraw deleted branch ci/flatpak-releases 2026-10-11 10:52:39 +02:00
Sign in to join this conversation.
No description provided.