... | ... | @@ -28,22 +28,28 @@ The template will do the following: |
|
|
1. Install with `ninja install` in /app prefix.
|
|
|
1. Run tests with `ninja test` with a [xvfb-run](http://manpages.ubuntu.com/manpages/xenial/man1/xvfb-run.1.html) mocked display inside a Flatpak environment. The mocked display has a resolution of 1024x768.
|
|
|
|
|
|
If you need to change the configure args that will be passed into meson, you can do so by defining a `CONFIG_OPTS` variable.
|
|
|
|
|
|
```yaml
|
|
|
variables:
|
|
|
CONFIG_OPTS: >-
|
|
|
--buildtype=debugoptimized
|
|
|
-Dwerror=true
|
|
|
```
|
|
|
|
|
|
### Flatpak bundle for every MR and commit
|
|
|
The main goal is to create Flatpak bundles so people can install and run them.
|
|
|
|
|
|
1. Create a Flatpak package/bundle and export it
|
|
|
1. Create a GitLab artifact to save the generated bundle for 14 days
|
|
|
1. Use a caching mechanism to reduce build times
|
|
|
|
|
|
To achieve all that, we will extend the previous CI file. The result will be exposed in the MR. Good thing is that is already handled by the template. The bundles will be created for all builds, but exposed only in the MR gui.
|
|
|
|
|
|
The template will create a Flatpak bundle with `flatpak build-bundle` and the runtime pointing to the value of RUNTIME_REPO variable. Once the build is done you will see a widget that exposes the artifacts of the job in the MR and that can download the generated Flatpak bundle.
|
|
|
|
|
|
![Screenshot_from_2019-12-02_17-16-17](uploads/b14b70d0fc4f623d75e5490eb121a1b7/Screenshot_from_2019-12-02_17-16-17.png)
|
|
|
|
|
|
### Flatpak builds on every commit to master
|
|
|
### Flatpak builds on every commit to your main branch
|
|
|
|
|
|
The nightly builds can be published to GNOME [Nightly Flatpak Repository](https://nightly.gnome.org/gnome-nightly.flatpakrepo), by adding the following job. It will publish the build on the master branch, but only if it is marked as *protected* in gitlab.
|
|
|
The nightly builds can be published to GNOME [Nightly Flatpak Repository](https://nightly.gnome.org/gnome-nightly.flatpakrepo), by adding the following job. It will publish the build on the `master, main or mailine` branch, but only if it the branch is marked as *protected* in gitlab.
|
|
|
|
|
|
```yaml
|
|
|
nightly:
|
... | ... | |