[gvfs/wip/oholy/gnome-build-meta] ci: Add gnome-build-meta job
- From: Ondrej Holy <oholy src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gvfs/wip/oholy/gnome-build-meta] ci: Add gnome-build-meta job
- Date: Wed, 16 Jan 2019 10:53:32 +0000 (UTC)
commit c6488c9ef6674af67f415667ebc5be841dc7d47c
Author: Ondrej Holy <oholy redhat com>
Date: Mon Jan 14 16:24:01 2019 +0100
ci: Add gnome-build-meta job
.gitlab-ci.yml | 13 ++++++++++++-
.gitlab-ci/Dockerfile | 16 +++++++++++++++-
2 files changed, 27 insertions(+), 2 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4d2c724d..c278bd65 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,6 +8,14 @@ fedora:
- meson build --werror
- ninja -C build
+gnome-build-meta:
+ stage: build
+ image: "$CI_REGISTRY_IMAGE/$NAME"
+ script:
+ - bst --directory /gnome-build-meta workspace open --no-checkout sdk/gvfs.bst .
+ # The following is used instead "bst build" to prevent fetching updated dependencies.
+ - bst --directory /gnome-build-meta shell --build sdk/gvfs.bst -- sh -c "meson build
-Dsystemduserunitdir=no -Dtmpfilesdir=no -Dinstalled_tests=true -Ddbus_service_dir=/usr/share/dbus-1/services
-Dadmin=false -Dafc=false -Dafp=false -Darchive=false -Dcdda=false -Ddnssd=false -Dgoa=false -Dgoogle=false
-Dgphoto2=false -Dhttp=false -Dmtp=false -Dnfs=false -Dsftp=false -Dsmb=false -Dudisks2=false -Dbluray=false
-Dfuse=false -Dgcr=false -Dgcrypt=false -Dgudev=false -Dkeyring=false -Dlogind=false -Dlibusb=false && ninja
-C build"
+
update-image:
stage: build
image: docker:latest
@@ -15,7 +23,10 @@ update-image:
- docker:dind
script:
- docker build --tag "$CI_REGISTRY_IMAGE/$NAME" .gitlab-ci/
+ # The following can't be run from Dockerfile as it needs --privileged.
+ - docker run --privileged --name "$NAME" "$CI_REGISTRY_IMAGE/$NAME" sh -c "bst --directory
/gnome-build-meta build --track-all sdk/gvfs.bst"
+ - docker commit "$NAME" "$CI_REGISTRY_IMAGE/$NAME"
- docker tag "$CI_REGISTRY_IMAGE/$NAME" "$CI_REGISTRY_IMAGE/$NAME:v$CI_JOB_ID"
- - docker login ${CI_REGISTRY} -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD}
+ - docker login "$CI_REGISTRY" -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD"
- docker push "$CI_REGISTRY_IMAGE/$NAME"
when: manual
diff --git a/.gitlab-ci/Dockerfile b/.gitlab-ci/Dockerfile
index 73d876cf..87bfe0c7 100644
--- a/.gitlab-ci/Dockerfile
+++ b/.gitlab-ci/Dockerfile
@@ -11,4 +11,18 @@ RUN dnf install -y --best elfutils-libelf-devel gamin-devel gcc gcc-c++ gdbm get
&& ninja -C _build \
&& ninja -C _build install \
&& cd .. \
- && rm -rf glib
\ No newline at end of file
+ && rm -rf glib
+
+# The gnome-build-meta dependencies and their versions are based on the following resources:
+# https://gitlab.com/BuildStream/buildstream-docker-images/blob/master/buildstream-fedora/prepare.sh
+# https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/master/.gitlab-ci.yml
+RUN dnf install -y python3 fuse bubblewrap python3-pip python-setuptools python3-devel gcc-c++ bzr git lzip
patch ostree python3-gobject quilt make findutils \
+ && dnf clean all \
+ && pip3 install arpy \
+ && git clone https://gitlab.com/BuildStream/buildstream.git \
+ && git -C buildstream/ checkout 10abe77fe8d77385d86f225b503d9185f4ef7f3a \
+ && pip3 install buildstream/ \
+ && git clone https://gitlab.com/BuildStream/bst-external.git \
+ && git -C bst-external/ checkout 0.8.0-0-g762ea216b751bf89ac15350e1cb98542963bbf33 \
+ && pip3 install bst-external/ \
+ && git clone --depth 1 https://gitlab.gnome.org/GNOME/gnome-build-meta.git
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]