flatpak-github-actions
flatpak-github-actions copied to clipboard
Add a Freedesktop SDK based image
[!NOTE]
The new yarn.lock and dist/index.js inflate the change number of approximately 7 500 lines.
This PR implements some of the idea from #170.
- Replace Fedora base image by creating a Freedesktop SDK based image with Buildstream
- The image is pushed to GHCR, ~~my only questioning is about if all the images (one per runtime and arch) can be stored on it ?~~
- Images with runtime pre-installed should be another PR after if this one get merged, same for documentation about using those images.
- The buildstream project relies on mainly Freedestkop SDK and then gnome-build-meta as junction, mostly to avoid reinventing the wheel (e.g. xvfb).
- SDK is used and not the Platform to give plenty of tooling since there is no package manager.
-
flatpak-builder
is hold to version 1.3.3 since later version breaks the action on the screenshot part, switching to 1.4 can be done once the action is ready. - The GitHub CLI tool is installed since those images are mainly meant to GitHub CIs and the CLI is already installed in all runner images.
- Pre-includes the QEMU aarch64 static binary, to enable it the new
update-binfmts
action needs to used. This replace the need to install docker in a container and ran the setup-qemu-action.- I don't know if it was a good idea to do it directly in the flatpak-builder action, so it's a separated action.
- Pre-built binaries are in use because building QEMU statically requires static elements and we have a storage limit on jobs.
- org.flatpak.Builder is replaced by the installation flatpak-builder-lint in the image.
The image is built, pushed and tested on my freedesktop_based_image_test branch
What scares me on using a buildstream freedesktop based image, is the lack of any information to keep it up to date when needed. It would be nice to add some small documentation on how it is supposed to be built locally/tested.
I will have a proper look at the PR tomorrow, thank you
What scares me on using a buildstream freedesktop based image, is the lack of any information to keep it up to date when needed. It would be nice to add some small documentation on how it is supposed to be built locally/tested.
I had to learn some BuildStream basics but I'll try to make a little README in the buildstream folder.
I also wanted to replace the docker images we use in the GNOME CI flatpak template and I think we could look at moving all of this into a standardised gnomeos or fdsdk docker image along with the tools as they are super useful anyway. I'd suggest merging this and then we start moving things around to gnome-build-meta and see how it works out.
@tytan652 Would you be interested in this?
What scares me on using a buildstream freedesktop based image, is the lack of any information to keep it up to date when needed.
Feel free to ping me or any of the GNOME Release team or fdosdk maintainers. This would also be easier if we end up using the same image as I mentioned above, and will move maintenance to gnome-rt which is fine since it's infra.
I also wanted to replace the docker images we use in the GNOME CI flatpak template and I think we could look at moving all of this into a standardised gnomeos or fdsdk docker image along with the tools as they are super useful anyway. I'd suggest merging this and then we start moving things around to gnome-build-meta and see how it works out.
@tytan652 Would you be interested in this?
I'm not against trying to upstream elements to them, but:
- Freedesktop SDK also did the same bad move as Fedora for
flatpak-builder
(providing unstable versions) which is one of the reason why this image was made. -
flatpak-build-lint
has proven to be really unstable, so I don't see it in such images.
I'm not against trying to upstream elements to them, but:
- Freedesktop SDK also did the same bad move as Fedora for
flatpak-builder
(providing unstable versions) which is one of the reason why this image was made.
I wasn't aware of this, we can probably fix it or tag a "stable" f-b release. Please file an issue!
I wasn't aware of this, we can probably fix it or tag a "stable" f-b release. Please file an issue!
The main reason was dropping FUSE2, Freedesktop SDK should have move to 1.4 now this is out. But the action is not ready for 1.4 behavior, only 1.2 (so 1.3.3).
But the action is not ready for 1.4 behavior, only 1.2 (so 1.3.3).
Has anyone tried to port it to 1.4 and fuse3? Were there any issues?
Has anyone tried to port it to 1.4 and fuse3? Were there any issues?
https://github.com/flatpak/flatpak-github-actions/pull/169 🤷
We will still need to pin the flatpak-builder version just in case a behavior change happen again.
Refactored BuildStream workflows to be less prone to out of space issues.