[NetworkManager-libreswan/lr/ci: 5/5] build: add GNOME GitLab CI configuration



commit 0d1d5aecf1582012f71d97a1403aacb85f5ae3d1
Author: Lubomir Rintel <lkundrak v3 sk>
Date:   Mon May 28 17:06:46 2018 +0200

    build: add GNOME GitLab CI configuration
    
    The pipeline begins with "build" stage doing a distcheck on Fedora 28
    (which is still known to ship libnm-glib) and outputting a tarball
    artifact.
    
    The output is then used in the "test" stage.
    
    In future, builds on some older platforms, CentOS and Ubuntu and clang
    builds would be nice. Not implemented at this point, but it should be
    straightforward enough.
    
    Maybe a build with a Git snapshot of NetworkManager and/or
    network-manager-applet would be useful at some point, but that's not
    implemented either.

 .gitlab-ci.yml | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..05a907a
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,67 @@
+# Quick syntax check:
+# python -c 'import sys, yaml; yaml.dump (yaml.load (sys.stdin), sys.stdout)' <.gitlab-ci.yml
+
+# If things don't seem to work, this can help:
+# https://gitlab.gnome.org/GNOME/NetworkManager-libreswan/-/ci/lint
+
+.fedora_deps: &fedora_deps
+  before_script:
+    - dnf -y install
+      file
+      findutils
+      gcc
+      gettext-devel
+      glib2-devel
+      gtk3-devel
+      libnl3-devel
+      intltool
+      libtool
+      libsecret-devel
+      libnma-devel
+      NetworkManager-libnm-devel
+      pkgconfig
+
+# Disable fetching Git, run after the tarball is rolled
+.dist: &dist
+  stage: test
+  dependencies:
+    - fedora28_dist
+  variables:
+    GIT_STRATEGY: none
+
+.fedora_from_dist: &fedora_from_dist
+  <<: *fedora_deps
+  <<: *dist
+  script:
+    - dnf -y install make
+    - tar xJf NetworkManager-libreswan-*.tar.xz
+    - cd NetworkManager-libreswan-*/
+    - ./configure
+      --disable-silent-rules
+      --without-libnm-glib
+    - make -j
+    - make -j check
+    - make -j install
+    - make -j uninstall
+
+# Roll the distribution tarball
+fedora28_dist:
+  <<: *fedora_deps
+  image: fedora:28
+  stage: build
+  script:
+    - dnf -y install
+      /usr/bin/autopoint
+      autoconf automake make
+      NetworkManager-devel
+      NetworkManager-glib-devel
+      libnm-gtk-devel
+    - sh autogen.sh
+    - make -j distcheck
+  artifacts:
+    paths:
+      - "*.xz"
+
+fedora_from_dist:
+  <<: *fedora_from_dist
+  image: fedora:latest


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