https://gitlab.com/accounts-sso/libaccounts-qt/-/merge_requests/21 From d00f7346b091b885ba0ea3f6055e74a173fd0034 Mon Sep 17 00:00:00 2001 From: Nicolas Fella Date: Mon, 17 Oct 2022 23:33:16 +0200 Subject: [PATCH 2/5] Add Qt6 CI --- .gitlab-ci.yml | 80 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 66 insertions(+), 14 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 95d5a92..f8b5bf6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,3 @@ -image: ubuntu:bionic - cache: key: apt-cache paths: @@ -13,23 +11,19 @@ stages: - test - deploy -before_script: - - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR - - PACKAGES+=" wget" # for downloading dependencies - - PACKAGES+=" libglib2.0-dev libsqlite3-dev libxml2-dev gtk-doc-tools libgirepository1.0-dev gobject-introspection libxml2-utils python3-gi python-gi-dev valac check python3-pip" # for libaccounts-glib - - | - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y \ - qt5-qmake qttools5-dev-tools qtbase5-dev qtchooser pkg-config doxygen \ - $PACKAGES - - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y dbus-test-runner lcov gcovr - - pip3 install meson ninja - - build_dependencies: + image: ubuntu:bionic stage: deps artifacts: paths: - staging + before_script: + - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR + - PACKAGES+=" wget" # for downloading dependencies + - PACKAGES+=" libglib2.0-dev libsqlite3-dev libxml2-dev gtk-doc-tools libgirepository1.0-dev gobject-introspection libxml2-utils python3-gi python-gi-dev valac check python3-pip" # for libaccounts-glib + - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y $PACKAGES + - pip3 install meson ninja + script: - STAGING="$PWD/staging" @@ -52,7 +46,15 @@ build_dependencies: build_amd64: + image: ubuntu:bionic stage: build + before_script: + - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR + - | + apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y \ + qt5-qmake qttools5-dev-tools qtbase5-dev qtchooser pkg-config doxygen wget libglib2.0-dev libsqlite3-dev libxml2-dev gtk-doc-tools libgirepository1.0-dev gobject-introspection libxml2-utils python3-gi python-gi-dev valac check python3-pip + - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y dbus-test-runner lcov gcovr + script: - STAGING="$PWD/staging" - export PKG_CONFIG_PATH="$STAGING/lib/pkgconfig:$PKG_CONFIG_PATH" @@ -69,7 +71,16 @@ build_amd64: - build/ test_amd64: + image: ubuntu:bionic stage: test + before_script: + - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR + - PACKAGES+=" wget" # for downloading dependencies + - | + apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y \ + qt5-qmake qttools5-dev-tools qtbase5-dev qtchooser pkg-config doxygen \ + $PACKAGES + - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y dbus-test-runner lcov gcovr script: - STAGING="$PWD/staging" - export LD_LIBRARY_PATH="$STAGING/lib:$LD_LIBRARY_PATH" @@ -83,6 +94,47 @@ test_amd64: paths: - build/ +build_amd64_qt6: + stage: build + image: ubuntu:jammy + before_script: + - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR + - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y qmake6 qt6-base-dev pkg-config libqt6sql6-sqlite doxygen libdbus-1-dev g++ make libglib2.0-dev gtk-doc-tools libgirepository1.0-dev gobject-introspection libxml2-utils python3-gi python-gi-dev valac check python3-pip libsqlite3-dev libxml2-dev + script: + - STAGING="$PWD/staging" + - find $STAGING + - export PKG_CONFIG_PATH="$STAGING/lib/pkgconfig:$PKG_CONFIG_PATH" + - export LD_LIBRARY_PATH="$STAGING/lib:$LD_LIBRARY_PATH" + - mkdir build + - cd build + - qmake6 CONFIG+=debug CONFIG+=coverage .. + - make -j 4 + dependencies: + - build_dependencies + artifacts: + paths: + - build/ + +test_amd64_qt6: + stage: test + image: ubuntu:jammy + before_script: + - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR + - export DEBIAN_FRONTEND=noninteractive + - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y dbus-test-runner libqtdbusmock1-dev libqtdbustest1-dev lcov gcovr make qmake6 qt6-base-dev pkg-config libqt6sql6-sqlite doxygen libdbus-1-dev g++ make libsqlite3-dev libxml2-dev libglib2.0-dev + script: + - STAGING="$PWD/staging" + - export LD_LIBRARY_PATH="$STAGING/lib:$LD_LIBRARY_PATH" + - find build | xargs touch # Avoid rebuilding + - cd build + - make coverage-html + dependencies: + - build_dependencies + - build_amd64_qt6 + artifacts: + paths: + - ./ + pages: stage: deploy script: -- 2.43.0