[libhandy/wip/exalm/ci: 1/2] ci: Backport libadwaita changes




commit 53fb2a8a4b55fbe9d4c7ecc58b3d0c77674006e7
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Tue Jan 18 18:21:37 2022 +0500

    ci: Backport libadwaita changes
    
    Remove packaging-specific jobs, use flatpak when possible. Leave out
    container images though.

 .gitlab-ci.yml              | 158 +++++++++++---------------------------------
 .gitlab-ci/flatpak-build.sh |  39 -----------
 2 files changed, 38 insertions(+), 159 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 059bb706..78b1baf6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,148 +1,48 @@
 include:
- - 'https://source.puri.sm/Librem5/librem5-ci/raw/master/librem5-pipeline-definitions.yml'
- - 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'
+  - project: 'gnome/citemplates'
+    file: 'flatpak/flatpak_ci_initiative.yml'
+
+variables:
+  MANIFEST_PATH: 'examples/sm.puri.Handy.Demo.json'
+  FLATPAK_MODULE: 'libhandy'
+  FLATPAK_BUILD_DIR: build
 
 stages:
   - build
-  - test+docs
-  - package
-  - test-package
   - publish
 
-before_script:
-  - echo "man-db man-db/auto-update boolean false" | debconf-set-selections
-  - export DEBIAN_FRONTEND=noninteractive
-  - apt-get -y update
-  - apt-get -y install eatmydata
-  - eatmydata apt-get -y install build-essential libgtk-3-doc libgdk-pixbuf2.0-doc lcov
-  - eatmydata apt-get -y build-dep .
-
-.build: &build_steps
-    echo "BUILD_OPTS=${BUILD_OPTS}" &&
-    export LC_ALL=C.UTF-8 &&
-    meson ${BUILD_OPTS} . _build  &&
-    ninja -C _build
-
 api-visibility:
   stage: build
   before_script: []
   script:
     - ./.gitlab-ci/api-visibility.sh
 
-build-debian-gcc:
-  image: debian:buster
-  stage: build
-  variables:
-    BUILD_OPTS: -Dgtk_doc=true -Db_coverage=true --werror
-  script:
-    - *build_steps
-  artifacts:
-    when: always
-    paths:
-      - _build
-
-build-debian-clang:
-  image: debian:buster
-  before_script:
-    - echo "man-db man-db/auto-update boolean false" | debconf-set-selections
-    - export DEBIAN_FRONTEND=noninteractive
-    - apt-get -y update
-    - apt-get -y install eatmydata
-    - eatmydata apt-get -y install build-essential clang-tools
-    - eatmydata apt-get -y build-dep .
-  stage: build
-  script:
-    - export LC_ALL=C.UTF-8
-    - meson . _build
-    # With meson 0.49 we can do
-    # SCANBUILD="scan-build --status-bugs" ninja scan-build
-    # https://github.com/mesonbuild/meson/commit/1e7aea65e68a43b0319a4a28908daddfec621548
-    - ninja -C _build scan-build
-  artifacts:
-    when: always
-    paths:
-      - _build/meson-logs/scanbuild
-
-build-fedora-gcc:
-  image: fedora:32
+doc:
+  image: fedora:latest
   stage: build
   variables:
-    BUILD_OPTS: -Dgtk_doc=true
+    MESON_ARGS: >-
+      -Dgtk_doc=true
+      -Dtests=false
+      -Dintrospection=disabled
+      -Dvapi=false
   before_script:
     - dnf -y update
-    - dnf -y install @development-tools redhat-rpm-config dnf-plugins-core
-    - dnf -y builddep data/packaging/rpm/libhandy.spec
-  script:
-    - *build_steps
-
-build-gtkdoc:
-  image: debian:buster
-  stage: test+docs
-  dependencies:
-    - build-debian-gcc
+    - dnf -y install gcc gtk-doc gtk3-devel meson
   script:
-    - ninja -C _build meson-libhandy-1-doc 2>&1 | tee _build/doc/buildlog
-    - if grep -qs 'warning' _build/doc/buildlog; then exit 1; fi
-    - mv _build/doc/html/ _reference/
+    - meson --prefix=/app ${MESON_ARGS} _build
+    - ninja -C _build libhandy-1-doc
+    - mv _build/doc/html/ _doc/
   artifacts:
-    when: always
     paths:
-      - _reference
-
-unit-test:
-  image: debian:buster
-  stage: test+docs
-  dependencies:
-    - build-debian-gcc
-  script:
-    - xvfb-run -s -noreset ninja -C _build test
-    - ninja -C _build coverage
-  coverage: '/^\s+lines\.+:\s+([\d.]+\%)\s+/'
-  artifacts:
-    when: always
-    paths:
-      - _build
-
-package-debian-buster:
-  tags: []
-  extends: .l5-build-debian-package
-
-autopkgtest-debian-buster-package:
-  tags: []
-  dependencies:
-    - package-debian-buster
-  extends: .l5-autopkgtest-debian-package
-
-lintian-debian-buster-package:
-  tags: []
-  dependencies:
-    - package-debian-buster
-  extends: .l5-lintian-debian-package
-
-abi-check:
-  # See https://sourceware.org/bugzilla/show_bug.cgi?id=27267
-  image: fedora:33
-  stage: build
-  variables:
-    DEPS: libabigail git
-    LAST_ABI_BREAK: "b90b5120c5e9e3f5a3b0d228bd7ddb24f053289a"
-  before_script:
-    - dnf -y update
-    - dnf -y install @development-tools redhat-rpm-config dnf-plugins-core $DEPS
-    - dnf -y builddep data/packaging/rpm/libhandy.spec
-    # See https://sourceware.org/bugzilla/show_bug.cgi?id=27269
-    - rpm -Uvh --oldpackage 
https://kojipkgs.fedoraproject.org//packages/libabigail/1.7/2.fc33/x86_64/libabigail-1.7-2.fc33.x86_64.rpm
-  script:
-    - ./.gitlab-ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD)
+      - _doc
 
 build-flatpak:
   extends: '.flatpak'
   stage: build
   before_script: []
   variables:
-    MANIFEST_PATH: 'examples/sm.puri.Handy.Demo.json'
     RUNTIME_REPO: 'https://nightly.gnome.org/gnome-nightly.flatpakrepo'
-    FLATPAK_MODULE: 'libhandy'
     APP_ID: 'sm.puri.Handy.Demo'
     BUNDLE: 'sm.puri.Handy.Demo.flatpak'
 
@@ -153,6 +53,24 @@ build-flatpak-glade:
   variables:
     MANIFEST_PATH: 'glade/sm.puri.Handy.Glade.json'
     RUNTIME_REPO: 'https://nightly.gnome.org/gnome-nightly.flatpakrepo'
-    FLATPAK_MODULE: 'libhandy'
     APP_ID: 'sm.puri.Handy.Glade'
     BUNDLE: 'sm.puri.Handy.Glade.flatpak'
+
+abi-check:
+  image: fedora:latest
+  stage: build
+  variables:
+    LAST_ABI_BREAK: "b90b5120c5e9e3f5a3b0d228bd7ddb24f053289a"
+  before_script:
+    - dnf -y update
+    - dnf -y install gcc gobject-introspection-devel git gtk3-devel libabigail meson vala
+  script:
+    - ./.gitlab-ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD)
+
+refresh-doc:
+  stage: publish
+  only:
+    refs:
+    - 'master'
+  script:
+    - "curl -X POST -F token=${PAGES_TRIGGER_TOKEN} -F ref=pages 
https://gitlab.gnome.org/api/v4/projects/11489/trigger/pipeline";


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