blob: 944bb27f806c1ca513d6aacf750c1a4b60dd36c1 (
plain)
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
|
include:
- project: 'gnome/citemplates'
file: 'flatpak/flatpak_ci_initiative.yml'
variables:
MANIFEST_PATH: 'examples/demo/org.gnome.RestDemo.json'
FLATPAK_MODULE: 'librest-demo'
FLATPAK_BUILD_DIR: build
LAST_ABI_BREAK: "85bd00adfa6e06d3426ce7c9007e68e62f51be14"
image: fedora:36
stages:
- build
- docs
- deploy
build-librest:
stage: build
except:
- tags
before_script:
- dnf update -y --nogpgcheck
- dnf -y install --nogpgcheck redhat-rpm-config
glib2-devel gobject-introspection-devel libxml2-devel meson ninja-build
libsoup-devel vala json-glib-devel git python3-jinja2 python3-toml python3-typogrify python3-pygments
libadwaita-devel gtksourceview5-devel git libabigail
script:
- meson _build -Dexamples=true
- ninja -C _build
- bash +x ./.gitlab-ci/run-tests.sh
- ./.gitlab-ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD)
artifacts:
reports:
junit: "_build/${CI_JOB_NAME}-report.xml"
name: "librest-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
when: always
paths:
- "_build/config.h"
- "_build/meson-logs"
- "_build/${CI_JOB_NAME}-report.xml"
build-flatpak:
extends: '.flatpak'
stage: build
before_script: []
variables:
RUNTIME_REPO: 'https://nightly.gnome.org/gnome-nightly.flatpakrepo'
APP_ID: 'org.gnome.RestDemo'
BUNDLE: 'org.gnome.RestDemo.flatpak'
.gidocgen-build:
image: fedora:latest
before_script:
- export PATH="$HOME/.local/bin:$PATH"
- dnf install -y python3 python3-pip python3-wheel gobject-introspection-devel graphviz ninja-build redhat-rpm-config
- dnf install -y ${PROJECT_DEPS}
- pip3 install --user meson==${MESON_VERSION} gi-docgen jinja2 Markdown markupsafe pygments toml typogrify
script:
- meson setup ${MESON_EXTRA_FLAGS} ${DOCS_FLAGS} _docs .
- meson compile -C _docs
- |
pushd "_docs/${DOCS_PATH}" > /dev/null
tar cf ${CI_PROJECT_NAME}-docs.tar .
popd > /dev/null
- mv _docs/${DOCS_PATH}/${CI_PROJECT_NAME}-docs.tar .
artifacts:
when: always
name: 'Documentation'
expose_as: 'Download the API reference'
paths:
- ${CI_PROJECT_NAME}-docs.tar
reference:
stage: docs
needs: []
extends: .gidocgen-build
variables:
PROJECT_DEPS:
docbook-style-xsl
gcc
gettext
git
glib2-devel
libxslt
libsoup-devel
gtk-doc
json-glib-devel
MESON_VERSION: "0.55.3"
MESON_EXTRA_FLAGS: "-Dintrospection=true -Dexamples=false"
DOCS_FLAGS: -Dgtk_doc=true
DOCS_PATH: docs/librest-1.0
pages:
stage: deploy
needs: ['reference']
script:
- mkdir public && cd public
- tar xf ../${CI_PROJECT_NAME}-docs.tar
artifacts:
paths:
- public
only:
- master
|