[libdazzle/alatiera/bst-ci] Add initial CI



commit 3b1f4c501bc08e09b9f05eb1dc397e6ea45bd395
Author: Jordan Petridis <jpetridis gnome org>
Date:   Fri Sep 28 08:34:50 2018 +0300

    Add initial CI

 .gitlab-ci.yml | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..cee9143
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,60 @@
+variables:
+  ELEMENT: "core-deps/libdazzle.bst"
+
+stages:
+  - "build"
+
+bst:
+  image: "buildstream/buildstream-fedora:master-113-499df6a5"
+  stage: "build"
+  variables:
+    # Store all the bst stuff under the "${CI_PROJECT_DIR}" directory.
+    # Note that GitLab CI will only cache stuff inside the "${CI_PROJECT_DIR}" folder.
+    XDG_CACHE_HOME: "${CI_PROJECT_DIR}/cache"
+    GET_SOURCES_ATTEMPTS: 3
+    BST: "bst --no-strict --config build.conf --log-file ../logs/build.log --colors"
+    BST_SHA: "10abe77fe8d77385d86f225b503d9185f4ef7f3a" #  1.2.3
+
+    # Avoid dbus error
+    # org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
+    NO_AT_BRIDGE: 1
+
+  before_script:
+    - dnf install -y xorg-x11-server-Xvfb dbus
+
+    # Use specific version of BuildStream
+    - git clone https://gitlab.com/BuildStream/buildstream.git
+    - git -C buildstream/ checkout $BST_SHA
+    - pip3 install buildstream/
+
+    # Clone the GNOME moduleset
+    - git clone --depth=1 https://gitlab.gnome.org/GNOME/gnome-build-meta.git
+
+    # Ensure the log directory exists
+    - mkdir -p logs
+  script:
+    - cd gnome-build-meta/
+    - ${BST} build --track-all ${ELEMENT}
+    - ${BST} workspace open --no-checkout --track -f ${ELEMENT} ../
+    - |
+      xvfb-run -a -s "-screen 0 1024x768x24" \
+        dbus-run-session \
+        ${BST} shell --build ${ELEMENT} -- /bin/bash -c \
+        'meson build && ninja -C build && meson test -C build --print-errorlogs'
+    - ${BST} workspace close ${ELEMENT}
+
+  # Store all the downloaded git and ostree repos in the cache.
+  # This saves us fetching them on every build
+  cache:
+    key: "bst"
+    paths:
+      - "${XDG_CACHE_HOME}/buildstream/sources/"
+
+  # Store artifacts so we can inspect build failures
+  artifacts:
+    when: "always"
+    paths:
+      - "logs"
+      - "project.refs"
+
+


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]