forked from GNOME/gnome-remote-desktop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
106 lines (94 loc) · 3.03 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
include:
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/34f4ade99434043f88e164933f570301fd18b125/templates/fedora.yml'
stages:
- prepare
- build
- test
.gnome-remote-desktop.fedora:35@common:
variables:
FDO_DISTRIBUTION_VERSION: 36
BASE_TAG: '2023-03-02.0'
FDO_UPSTREAM_REPO: GNOME/gnome-remote-desktop
FDO_DISTRIBUTION_EXEC: |
dnf -y update && dnf -y upgrade &&
dnf install -y 'dnf-command(builddep)' &&
# To build
dnf install -y meson &&
dnf builddep -y gnome-remote-desktop &&
dnf install -y 'pkgconfig(epoxy)' 'pkgconfig(libdrm)' 'pkgconfig(gbm)' \
'pkgconfig(gudev-1.0)' &&
dnf install -y 'pkgconfig(ffnvcodec)' &&
dnf install -y 'pkgconfig(fuse3)' &&
dnf install -y 'pkgconfig(fdk-aac)' &&
dnf install -y 'pkgconfig(tss2-esys)' \
'pkgconfig(tss2-mu)' 'pkgconfig(tss2-rc)' \
'pkgconfig(tss2-tctildr)' &&
dnf install -y asciidoc &&
# To test
dnf install -y openssl &&
dnf install -y 'pkgconfig(libvncclient)' &&
dnf remove -y pipewire0.2-devel pipewire0.2-libs &&
dnf install -y 'pkgconfig(libpipewire-0.3)' &&
dnf install -y dbus-daemon python3-dbus python3-gobject \
gnome-settings-daemon mesa-dri-drivers mutter &&
dnf install -y git cmake gcc-c++ libusb1-devel &&
./.gitlab-ci/install-cmake-project.sh \
-DCMAKE_BUILD_TYPE='None' \
-DWITH_ICU=ON \
-DWITH_SERVER=ON \
-DWITH_SHADOW=OFF \
-DWITH_PROXY=OFF \
-DWITH_CHANNELS=ON \
-DWITH_CLIENT_CHANNELS=ON \
-DWITH_SERVER_CHANNELS=ON \
https://github.com/FreeRDP/FreeRDP \
2.10.0 . &&
dnf clean all
.gnome-remote-desktop.fedora:35@x86_64:
extends: .gnome-remote-desktop.fedora:35@common
variables:
FDO_DISTRIBUTION_TAG: "x86_64-${BASE_TAG}"
default:
# Cancel jobs if newer commits are pushed to the branch
interruptible: true
# Auto-retry jobs in case of infra failures
retry:
max: 1
when:
- 'runner_system_failure'
- 'stuck_or_timeout_failure'
- 'scheduler_failure'
- 'api_failure'
build-fedora-container@x86_64:
extends:
- .fdo.container-build@fedora@x86_64
- .gnome-remote-desktop.fedora:35@x86_64
stage: prepare
variables:
GIT_STRATEGY: none
build-gnome-remote-desktop:
extends:
- .fdo.distribution-image@fedora
- .gnome-remote-desktop.fedora:35@x86_64
stage: build
script:
- meson . build -Dbuildtype=debugoptimized -Dvnc=true --werror
- ninja -C build
- ninja -C build install
needs:
- build-fedora-container@x86_64
artifacts:
expire_in: 1 day
paths:
- build
test-gnome-remote-desktop:
extends:
- .fdo.distribution-image@fedora
- .gnome-remote-desktop.fedora:35@x86_64
stage: test
dependencies:
- build-gnome-remote-desktop
script:
- meson test -C build --no-rebuild --verbose --no-stdsplit -t 10
needs:
- build-gnome-remote-desktop