-
Notifications
You must be signed in to change notification settings - Fork 3
/
.gitlab-ci.yml
112 lines (103 loc) · 2.75 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
include:
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/c5626190ec14b475271288dda7a7dae8dbe0cd76/templates/arch.yml'
variables:
FDO_UPSTREAM_REPO: gnome/gnome-initial-setup
stages:
- prepare
- build
.arch.container.common:
variables:
# When branching a stable release, change 'main'
# to the release number/branch to ensure that
# a new image will be created, tailored for the
# stable branch.
FDO_DISTRIBUTION_TAG: '2022-12-02.0-43'
# See also https://gitlab.freedesktop.org/freedesktop/ci-templates
build.container.arch@x86_64:
extends:
- '.fdo.container-build@arch'
- '.arch.container.common'
stage: 'prepare'
variables:
# no need to pull the whole tree for rebuilding the image
GIT_STRATEGY: none
# Expiry sets fdo.expires on the image
FDO_EXPIRES_AFTER: 8w
FDO_DISTRIBUTION_PACKAGES: >-
accountsservice
appstream
base-devel
flatpak
fontconfig
gdm
geoclue
geocode-glib
git
gnome-desktop-4
gnome-online-accounts
gsettings-desktop-schemas
gobject-introspection
gtk4
gtk-doc
itstool
json-glib
krb5
libadwaita
libglib-testing
libgweather-4
libibus
libmalcontent
libnm
libnma-gtk4
libpwquality
librest
libsecret
malcontent
meson
polkit
sassc
webkit2gtk-5.0
yelp-tools
.job_template: &job_definition
extends:
- '.fdo.distribution-image@arch'
- '.arch.container.common'
stage: build
script:
# In general, we would like warnings to be fatal. However, code copied from
# gnome-control-center uses many deprecated functions. Until we have a good
# answer to sharing that code (#68), make those warnings non-fatal.
- meson setup
--wrap-mode=nofallback
--fatal-meson-warnings
-Dsystemd=${EXPLICIT_FEATURES}
--auto-features ${AUTO_FEATURES}
${OPTIONS}
-Dwerror=true -Dc_args=-Wno-error=deprecated-declarations
${EXTRA_PARAMETERS}
_build
.
- cd _build
- ninja -v
# Check that strings can be extracted
- ninja -v gnome-initial-setup-pot
# Check the package can be installed
- DESTDIR=$(mktemp -d) ninja -v install
- meson test
artifacts:
when: on_failure
name: "gnome-initial-setup-${CI_COMMIT_REF_NAME}-${CI_JOB_NAME}"
paths:
- "${CI_PROJECT_DIR}/_build/meson-logs"
build-minimal:
<<: *job_definition
variables:
EXPLICIT_FEATURES: 'false'
AUTO_FEATURES: 'disabled'
OPTIONS: ''
build-maximal:
<<: *job_definition
variables:
EXPLICIT_FEATURES: 'true'
AUTO_FEATURES: 'enabled'
OPTIONS: '-Dvendor-conf-file=/var/lib/weird-vendor-specific-path.ini'