DevOps with Flatpak
Description
While at GNOME we have been quite behind in our development cycle management, feedback gathering, designer testing, etc. and we have been quite imprecise and inconsistent in these experiences, by using several unrelated tools, more than one way to build and run our projects, no reproducibility, no CI, no automation...
This initiative tries to provide a more devops experience for our development, by making sure our most important projects are always buildable, use the same environment across teams & people like newcomers, testers, development, designers, release team and reporters and that can be tested and gather feedback in an easy way by installing an app bundle of any work in progress.
For this purpose we use GitLab CI and Flatpak.
Goals
- Have Flatpak build as part of the CI.
- Create Flatpak bundles for every commit and merge request.
- Allow parallel installation of app bundles, together with other Flatpak installations or system installations.
- Ensure the development version of the app is easily recognizable.
Scope
Maintained core apps & newcomers apps
People on charge & contact
Contact us in #gnome-hackers.
Instructions to achieve the goals
The instructions are split into small steps, follow the wik for step by step instructions
Label for tracking the initiative
Text for the initiative issue in projects
We are trying to provide a better development cycle for contributors, users and designers. For that, would be awesome to have a CI setup that allows:
* [ ] Have Flatpak build as part of the CI.
* [ ] Create Flatpak bundles for every commit and merge request.
* [ ] Allow parallel installation of app bundles, together with other Flatpak installations or system installations.
* [ ] Ensure the development version of the app is easily recognizable.
Read more about this at the [initiative](https://gitlab.gnome.org/GNOME/Initiatives/issues/1), @csoriano and @alatiera will help with the implementation of it. Let us know if you have any questions & thoughts.
/label ~"9. Initiatives: Flatpak CI"
List of projects & tasks
High priority / core apps
-
Nautilus -
Builder - gnome-builder#493 (closed) -
Boxes - gnome-boxes#202 (closed) -
Evince - evince#995 (closed) -
Calendar - gnome-calendar#285 (closed) -
Epiphany - epiphany#62 (closed) -
Music - gnome-music#185 (closed) -
Clocks - gnome-clocks!18 (closed) -
Gedit - gedit!21 -
Maps - gnome-maps#116 (closed)
Additional
-
ToDo - https://gitlab.gnome.org/GNOME/gnome-todo/issues/172 -
Games - https://gitlab.gnome.org/GNOME/gnome-games/issues/18 -
Polari - polari#61 (closed) -
Notes - gnome-notes@3e8fdb4a -
Gitg - gitg#132 (closed)
How can I help
By helping maintainers implement part of the goals, with the instructions provided in the wiki page.