... | ... | @@ -9,12 +9,12 @@ |
|
|
|
|
|
The main goal here is to make sure our CI runs for every commit and MR and the project is buildable using the same base across GNOME, the Flatpak env.
|
|
|
|
|
|
For that, use the following template and replace the variables with the appropriate variables for your project.
|
|
|
|
|
|
The following code snipped uses two CI jobs to build Flatpaks for `x86_64` and `aarch64`.
|
|
|
You will need to adjust the variables in `.vars-devel` with the appropriate variables for your project.
|
|
|
```yaml
|
|
|
include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'
|
|
|
|
|
|
flatpak:
|
|
|
.vars-devel:
|
|
|
image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master'
|
|
|
variables:
|
|
|
MANIFEST_PATH: "build-aux/flatpak/org.gnome.NautilusDevel.yml"
|
... | ... | @@ -22,7 +22,14 @@ flatpak: |
|
|
APP_ID: "org.gnome.NautilusDevel"
|
|
|
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
|
|
|
BUNDLE: "nautilus-dev.flatpak"
|
|
|
extends: '.flatpak@x86_64'
|
|
|
|
|
|
# Build Flatpak for x86_64
|
|
|
flatpak@x86_64:
|
|
|
extends: ['.flatpak@x86_64:', '.vars-devel']
|
|
|
|
|
|
# Build Flatpak for aarch64
|
|
|
flatpak@aarch64:
|
|
|
extends: ['.flatpak@aarch64:', '.vars-devel']
|
|
|
```
|
|
|
|
|
|
The template will do the following:
|
... | ... | @@ -56,9 +63,15 @@ The template will create a Flatpak bundle with `flatpak build-bundle` and the ru |
|
|
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:
|
|
|
nightly@x86_64:
|
|
|
extends: '.publish_nightly'
|
|
|
# assuming your job in named 'flatpak@x86_64'
|
|
|
needs: ['flatpak@x86_64']
|
|
|
|
|
|
nightly@aarch64:
|
|
|
extends: '.publish_nightly'
|
|
|
needs: ['flatpak']
|
|
|
# assuming your job in named 'flatpak@aach64'
|
|
|
needs: ['flatpak@aach64']
|
|
|
```
|
|
|
|
|
|
### Saving build and test logs & cache builds
|
... | ... | |