-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy path.gitlab-ci.yml
120 lines (114 loc) · 3.59 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
113
114
115
116
117
118
119
120
stages:
- build
- release
- analysis
variables:
DEBIAN_FRONTEND: noninteractive
.install-ubuntu-dependencies: &install-ubuntu-dependencies
apt-get install -q -y --no-install-recommends
autoconf-archive
automake
autopoint
build-essential
ca-certificates
evolution-data-server-dev
gettext
git
gtk-doc-tools
libcairo2-dev
libdconf-dev
libecal2.0-dev
libedataserver1.2-dev
libgdk-pixbuf2.0-dev
libgdm-dev
libglib2.0-dev
libgnome-desktop-3-dev
libgnome-menu-3-dev
libgtk-3-dev
libgweather-4-dev
libpango1.0-dev
libpolkit-gobject-1-dev
libsm-dev
libstartup-notification0-dev
libsystemd-dev
libtool
libx11-dev
libxau-dev
libxi-dev
libxrandr-dev
meson
pkg-config
yelp-tools
.build-libwnck: &build-libwnck
- git clone https://gitlab.gnome.org/GNOME/libwnck.git
- meson setup libwnck libwnck/build --prefix /usr -Dintrospection=disabled
- meson install -C libwnck/build
ubuntu:
image: ubuntu:devel
stage: build
before_script:
- apt-get update
- *install-ubuntu-dependencies
- *build-libwnck
script:
- ./autogen.sh
- make
- make distcheck
artifacts:
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
when: always
paths:
- "${CI_PROJECT_NAME}-*.tar.xz"
release:
image: ubuntu:devel
stage: release
needs:
- job: ubuntu
artifacts: true
before_script:
- apt-get update
- apt-get install -q -y --no-install-recommends
ca-certificates
curl
variables:
GNOME_RELEASE_SERVICE_API_URL: "https://gnome-release-route-gnome-release-service.apps.openshift.gnome.org"
GNOME_RELEASE_SERVICE_API_INSTALL_MODULE_RELEASE_ENDPOINT: "$GNOME_RELEASE_SERVICE_API_URL/install-module-release"
TARBALL_ARTIFACT_PATH: "${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz"
id_tokens:
JWT_TOKEN:
aud: gnome-release-service
script:
- ls -al "${TARBALL_ARTIFACT_PATH}"
- >
curl --fail-with-body -X POST "$GNOME_RELEASE_SERVICE_API_INSTALL_MODULE_RELEASE_ENDPOINT"
-H "Authorization: Bearer $JWT_TOKEN"
-F "tarball=@${TARBALL_ARTIFACT_PATH}"
rules:
- if: $CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED
coverity:
image: ubuntu:devel
stage: analysis
when: manual
before_script:
- apt-get update
- *install-ubuntu-dependencies
- *build-libwnck
- apt-get install -q -y --no-install-recommends
ca-certificates
clang
curl
script:
- curl https://scan.coverity.com/download/linux64
--data "token=$COVERITY_TOKEN&project=gnome-panel"
--output /tmp/coverity_tool.tgz
- tar zxf /tmp/coverity_tool.tgz
- CC=clang ./autogen.sh --disable-Werror --disable-gtk-doc
- ./cov-analysis-linux64-*/bin/cov-build --dir cov-int make
- tar czf cov-int.tar.gz cov-int
- curl --form token=$COVERITY_TOKEN
--form email=$GITLAB_USER_EMAIL
--form [email protected]
--form version="$(autoconf --trace='AC_INIT:$2')-$CI_COMMIT_SHORT_SHA"
https://scan.coverity.com/builds?project=gnome-panel
only:
- master