1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249
|
# SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org>
# SPDX-FileCopyrightText: 2022-2025 Stefan Gerlach <stefan.gerlach@uni.kn>
# SPDX-License-Identifier: CC0-1.0
# full path: https://invent.kde.org/sysadmin/ci-utilities/-/tree/master/gitlab-templates
include:
- project: sysadmin/ci-utilities
file:
# reuse-lint fails
# - /gitlab-templates/reuse-lint.yml
- /gitlab-templates/clang-format.yml
- /gitlab-templates/linux-qt6.yml
# Fails finding ECM (2025-02-13)
# - /gitlab-templates/linux-qt6-next.yml
- /gitlab-templates/windows-qt6.yml
- /gitlab-templates/freebsd-qt6.yml
### DEPLOY
- /gitlab-templates/craft-appimage-qt6.yml
# see below for flatpak variables
- /gitlab-templates/flatpak.yml
- /gitlab-templates/craft-windows-x86-64-qt6.yml
- /gitlab-templates/craft-macos-x86-64-qt6.yml
- /gitlab-templates/craft-macos-arm64-qt6.yml
# only for publishing in the MS Store
# - /gitlab-templates/craft-windows-appx-qt6.yml
# MinGW fails linking tests due to undefined references to GSL functions
# - /gitlab-templates/craft-windows-mingw64-qt6.yml
# can't extend job without running it
# "only: []" not supported anymore
#freebsd14_qt68_t:
# extends: freebsd14_qt68
# script:
# - !reference [freebsd14_qt68, script]
# - mkdir -p build_examples && cd build_examples
# - cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja ../lib/examples
# - ninja
# can't extend job without running it
# "only: []" not supported anymore
#suse_tumbleweed_qt69_t:
# extends: suse_tumbleweed_qt69
# script:
# - !reference [suse_tumbleweed_qt69, script]
# - mkdir -p build_examples && cd build_examples
# - cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja ../lib/examples
# - ninja
# can't extend job without running it
# "only: []" not supported anymore
#windows_qt68_t:
# extends: windows_qt68
# script:
# - !reference [windows_qt68, script]
# disable the build of the sdk examples on windows since it is flaky. fails with a linker error sometimes
# - mkdir -p build_examples && cd build_examples
# - $env:Path = 'C:\Craft\windows-msvc2022_64-cl\bin;C:\Craft\windows-msvc2022_64-cl\lib;C:\Craft\windows-msvc2022_64-cl\dev-utils\bin;' + $env:Path
# - cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja ../lib/examples
# - ninja
craft_appimage_qt6_x86_64:
rules:
- if: '$CI_COMMIT_REF_NAME == "master"'
when: manual
allow_failure: true
craft_windows_qt6_x86_64:
rules:
- if: '$CI_COMMIT_REF_NAME == "master"'
when: manual
allow_failure: true
craft_macos_qt6_x86_64:
rules:
- if: '$CI_COMMIT_REF_NAME == "master"'
when: manual
allow_failure: true
craft_macos_qt6_arm64:
rules:
- if: '$CI_COMMIT_REF_NAME == "master"'
when: manual
allow_failure: true
clang_format:
stage: test
image: debian:bookworm
before_script:
- apt-get update
- apt-get install --yes --no-install-recommends git clang-format-13
script: |
./cl-fmt.sh
git diff --exit-code
# see above
flatpak:
rules:
- if: '$CI_COMMIT_REF_NAME == "master"'
when: manual
allow_failure: true
variables:
QT_TEST_TIMEOUT_FUNCTION: "600"
########################################################
# test builds (prepend '.' to temporary disable):
## Ubuntu 22.04 min (Debug)
## Ubuntu 22.04 full (Release)
## Fedora 38 min (Debug)
## Fedora 38 full (Release)
## OS 15.5 min (Release)
## OS 15.5 full (Debug)
## Tumbleweed full (Debug)
.ubuntu_22.04_min:
stage: build
image: ubuntu:22.04
only:
- merge_requests
- master
before_script:
- apt update
- apt install --yes eatmydata
- eatmydata apt install --yes --no-install-recommends locales-all ninja-build git cmake make g++ extra-cmake-modules xvfb libqt5svg5-dev libkf5kio-dev libkf5archive-dev libkf5crash-dev libkf5newstuff-dev libkf5doctools-dev libkf5textwidgets-dev kuserfeedback-dev bison libgsl-dev pkg-config ca-certificates zlib1g-dev qtbase5-private-dev
script:
- mkdir -p build && cd build
- cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja ..
- ninja
# 1 test fails: FAIL! : SpreadsheetTest::testFlatten01() Received a fatal error.
# - xvfb-run ctest -T Test --output-on-failure
.ubuntu_22.04_full:
stage: build
image: ubuntu:22.04
only:
# - merge_requests
- master
before_script:
- apt update
- apt install --yes eatmydata
- eatmydata apt install --yes --no-install-recommends locales-all ninja-build git cmake g++ extra-cmake-modules xvfb libqt5svg5-dev libkf5kio-dev libkf5archive-dev libkf5crash-dev libkf5newstuff-dev libkf5doctools-dev libkf5textwidgets-dev kuserfeedback-dev bison libgsl-dev libkf5parts-dev libkf5syntaxhighlighting-dev cantor libcantor-dev libpoppler-qt5-dev libfftw3-dev libreadstat-dev liborigin2-dev libhdf5-dev libnetcdf-dev libqt5serialport5-dev libcfitsio-dev libcerf-dev liblz4-dev libmatio-dev libmarkdown2-dev libspectre-dev qtbase5-private-dev ca-certificates
script:
- mkdir -p build && cd build
- cmake -DCMAKE_BUILD_TYPE=Release -G Ninja ..
- ninja
# 1 test fails: FAIL! : SpreadsheetTest::testFlatten01() Received a fatal error.
# - xvfb-run ctest -T Test --output-on-failure
.fedora_38_min:
stage: build
image: fedora:38
only:
- merge_requests
- master
before_script:
- dnf -y --setopt=install_weak_deps=False install git gcc-c++ make bison shared-mime-info cmake ninja-build xorg-x11-server-Xvfb mesa-dri-drivers wayland-devel gsl-devel qt5-qtbase-devel qt5-qtsvg-devel qt5-qtwayland-devel extra-cmake-modules kf5-ki18n-devel kf5-kio-devel kf5-knewstuff-devel kf5-karchive-devel kf5-kcrash-devel kf5-kdoctools-devel kf5-kiconthemes-devel kf5-ktextwidgets-devel kuserfeedback-devel zlib-devel qt5-qtbase-private-devel
script:
- mkdir -p build && cd build
# readstat disabled until fixed for GCC 13
# dbc_parser fails with GCC 13 atm (-DLOCAL_DBC_PARSER=ON -DLOCAL_VECTOR_BLF=ON)
- cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_READSTAT=OFF -G Ninja ..
- ninja
# FAIL! : ParserTest::testLocale() Compared doubles are not the same (fuzzy compare)
# Actual (parse(qPrintable(expr.first), "de_DE")): nan
# Expected (expr.second) : 1
# FAIL! : SpreadsheetTest::testFlatten01() Received a fatal error.
# - xvfb-run ctest -T Test --output-on-failure
.fedora_38_full:
stage: build
image: fedora:38
only:
# - merge_requests
- master
before_script:
- dnf -y --setopt=install_weak_deps=False install git gcc-c++ make bison shared-mime-info cmake ninja-build xorg-x11-server-Xvfb mesa-dri-drivers wayland-devel gsl-devel qt5-qtbase-devel qt5-qtsvg-devel qt5-qtwayland-devel extra-cmake-modules kf5-ki18n-devel kf5-kio-devel kf5-knewstuff-devel kf5-karchive-devel kf5-kcrash-devel kf5-kdoctools-devel kf5-kiconthemes-devel kf5-ktextwidgets-devel kuserfeedback-devel kf5-kparts-devel kf5-syntax-highlighting-devel cantor-devel poppler-qt5-devel libspectre-devel liborigin-devel fftw3-devel netcdf-devel qt5-qtserialport-devel cfitsio-devel libcerf-devel lz4-devel matio-devel discount qt5-qtbase-private-devel
script:
- mkdir -p build && cd build
# readstat disabled until fixed for GCC 13
# dbc_parser fails with GCC 13 atm (-DLOCAL_DBC_PARSER=ON -DLOCAL_VECTOR_BLF=ON)
- cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_READSTAT=OFF -G Ninja ..
- ninja
# see fedora_38_min
# - xvfb-run ctest -T Test --output-on-failure
.leap_15.5_min:
stage: build
image: opensuse/leap:15.5
only:
- merge_requests
- master
before_script:
- zypper ref
- zypper --non-interactive install --recommends -t pattern devel_qt5 devel_kde_frameworks
# Mesa-libEGL1 xvfb-run libwayland-egl1 for tests (not working)
- zypper in -y gsl-devel ninja libQt5Gui-private-headers-devel kdoctools-devel
script:
- mkdir -p build && cd build
# readstat disabled until fixed for GCC 13
# could not find git for clone of dbc_parser_cpp-populate (-DLOCAL_DBC_PARSER=ON -DLOCAL_VECTOR_BLF=ON)
- cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_READSTAT=OFF -G Ninja ..
- ninja
# libEGL warning: DRI2: failed to create any config
# - xvfb-run ctest -T Test --output-on-failure
.leap_15.5_full:
stage: build
image: opensuse/leap:15.5
only:
# - merge_requests
- master
before_script:
- zypper ref
- zypper --non-interactive install --recommends -t pattern devel_qt5 devel_kde_frameworks
# readstat-devel in Science repo only, see leap_15.5_min for tests
- zypper in -y gsl-devel ninja libQt5Gui-private-headers-devel kdoctools-devel kuserfeedback-devel liborigin-devel cantor-devel fftw3-devel hdf5-devel netcdf-devel cfitsio-devel libcerf-devel liblz4-devel libmatio-devel discount
script:
- mkdir -p build && cd build
# readstat disabled until fixed for GCC 13
# could not find git for clone of dbc_parser_cpp-populate (-DLOCAL_DBC_PARSER=ON -DLOCAL_VECTOR_BLF=ON)
- cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_READSTAT=OFF -G Ninja ..
- ninja
# libEGL warning: DRI2: failed to create any config
# - xvfb-run ctest -T Test --output-on-failure
.tumbleweed_full:
stage: build
image: opensuse/tumbleweed
only:
# - merge_requests
- master
before_script:
- zypper ref
- zypper in -y --force-resolution xvfb-run
- zypper --non-interactive install --recommends -t pattern devel_qt5 devel_kde_frameworks
# readstat-devel in Science repo only
- zypper in -y gsl-devel ninja Mesa-libEGL1 libwayland-egl1 kuserfeedback-devel liborigin-devel cantor-devel fftw3-devel hdf5-devel netcdf-devel cfitsio-devel libcerf-devel liblz4-devel libmatio-devel discount libQt5Gui-private-headers-devel
script:
- mkdir -p build && cd build
# readstat disabled until fixed for GCC 13
# Vector BLF fails compiling (<cstdint> missing)
- cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_READSTAT=OFF -G Ninja ..
- ninja
# libEGL warning: DRI2: failed to create any config
# - xvfb-run ctest -T Test --output-on-failure
|