-
Notifications
You must be signed in to change notification settings - Fork 41
/
Copy path.gitlab-ci.yml
108 lines (101 loc) · 3.02 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
include:
- https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates/-/raw/master/templates/fedora.yml
- component: "gitlab.gnome.org/GNOME/citemplates/release-service@master"
inputs:
job-stage: "release"
dist-job-name: "build-fedora"
tarball-artifact-path: "${TARBALL_ARTIFACT_PATH}"
variables:
COMMON_BUILD_OPTIONS: --prefix=/usr --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man --libdir=/usr/lib64 -Dpam-prefix=/etc -Drun-dir=/run/gdm -Dudev-dir=/lib/udev/rules.d -Ddefault-path=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin -Dprofiling=true -Dplymouth=enabled -Dselinux=enabled
MESON_BUILD_DIR: build
TARBALL_ARTIFACT_PATH: "${MESON_BUILD_DIR}/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz"
stages:
- prepare
- build
- release
workflow:
rules:
# Allow to switch from branch pipelines to MR pipelines seamlessly
# https://docs.gitlab.com/ee/ci/jobs/job_control.html#avoid-duplicate-pipelines
- if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push"
when: never
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
# Don't trigger a branch pipeline if there is an open MR
- if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
when: never
- if: '$CI_COMMIT_BRANCH'
- if: '$CI_COMMIT_TAG'
.gdm.fedora:
variables:
FDO_DISTRIBUTION_VERSION: 41
FDO_DISTRIBUTION_TAG: '2025-02-06.0'
FDO_DISTRIBUTION_PACKAGES:
accountsservice-devel
audit-libs-devel
check-devel
dconf
desktop-file-utils
gettext-devel
git
gobject-introspection-devel
iso-codes-devel
itstool
json-glib-devel
keyutils-libs-devel
libattr-devel
libgudev-devel
libdmx-devel
libselinux-devel
libtool
meson
nss-devel
pam-devel
plymouth-devel
redhat-rpm-config
systemd
systemd-devel
which
yelp-devel
gtk3-devel
libXau-devel
libXdmcp-devel
xorg-x11-server-Xorg
xorg-x11-server-devel
build-fedora-container:
extends:
- .fdo.container-build@fedora@x86_64
- .gdm.fedora
stage: prepare
rules:
- when: always
build-fedora:
extends:
- .fdo.distribution-image@fedora
- .gdm.fedora
stage: build
script:
- meson setup ${MESON_BUILD_DIR} ${COMMON_BUILD_OPTIONS}
- meson compile -C ${MESON_BUILD_DIR}
- meson install -C ${MESON_BUILD_DIR}
- meson dist -C ${MESON_BUILD_DIR}
- meson test -C ${MESON_BUILD_DIR}
rules:
- when: always
artifacts:
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
when: always
paths:
- "${TARBALL_ARTIFACT_PATH}"
build-fedora-wayland:
extends:
- .fdo.distribution-image@fedora
- .gdm.fedora
stage: build
script:
- meson setup ${MESON_BUILD_DIR} ${COMMON_BUILD_OPTIONS} -Dx11-support=false
- meson compile -C ${MESON_BUILD_DIR}
- meson install -C ${MESON_BUILD_DIR}
- meson dist -C ${MESON_BUILD_DIR}
- meson test -C ${MESON_BUILD_DIR}
rules:
- if: $CI_COMMIT_TAG == null