[glib/wip/ebassi/ci] ci: Add GitLab CI description file



commit f2e2e2bbe326c3f249989d1832792203c83875be
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Sun Feb 18 14:59:29 2018 +0000

    ci: Add GitLab CI description file
    
    We're mostly interested into building and testing everything that gets
    pushed to the repository — including merge requests.
    
    When pushing tags, though, we should assume we're spinning a release, so
    let's run the dist target, and store the tarball, and the generated
    documentation while we're at it, as artifacts on GitLab.

 .gitlab-ci.yml | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 000000000..147bf9a34
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,48 @@
+image: fedora:27
+
+before_script:
+  - dnf install -y ccache elfutils-libelf-devel gcc gcc-c++ gettext glibc-devel git gtk-doc itstool 
libattr-devel libffi-devel libmount-devel libselinux-devel meson pcre-devel zlib-devel
+  - mkdir -p _ccache
+  - export CCACHE_BASEDIR=${PWD}
+  - export CCACHE_DIR=${PWD}/_ccache
+
+stages:
+  - build
+
+cache:
+  paths:
+    - _ccache/
+
+build-job:
+  stage: build
+  script:
+    - meson --prefix /usr --libdir /usr/lib64 _build .
+    - cd _build
+    - ninja
+    - meson test
+  except:
+    - tags
+  artifacts:
+    when: on_failure
+    name: "glib-_${CI_COMMIT_REF_NAME}"
+    paths:
+      - "${CI_PROJECT_DIR}/_build/meson-logs/testlog.txt"
+
+dist-job:
+  stage: build
+  only:
+    - tags
+  script:
+    - meson --prefix /usr --libdir /usr/lib64 -Dgtk_doc=true _build .
+    - cd _build
+    - ninja dist
+    - ninja glib-doc
+    - tar -c -f "glib-docs-$CI_COMMIT_TAG.tar.xz" -C docs/reference/glib html
+    - tar -c -f "gobject-docs-$CI_COMMIT_TAG.tar.xz" -C docs/reference/gobject html
+    - tar -c -f "gio-docs-$CI_COMMIT_TAG.tar.xz" -C docs/reference/gio html
+  artifacts:
+    paths:
+      - "${CI_PROJECT_DIR}/_build/glib-docs.tar.xz"
+      - "${CI_PROJECT_DIR}/_build/gobject-docs.tar.xz"
+      - "${CI_PROJECT_DIR}/_build/gio-docs.tar.xz"
+      - "${CI_PROJECT_DIR}/_build/meson-dist/glib-*.tar.xz"


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