[sysadmin/ci-tooling] /: Remove CI builds for SUSEQt5.14, as Frameworks is about to bump to a mandatory Qt 5.15 dependency.

Ben Cooksley null at kde.org
Sat Apr 3 22:40:09 BST 2021


Git commit 32c4018280c2870652a0be97643a01bef8ed66dd by Ben Cooksley.
Committed on 03/04/2021 at 21:39.
Pushed by bcooksley into branch 'master'.

Remove CI builds for SUSEQt5.14, as Frameworks is about to bump to a mandatory Qt 5.15 dependency.
As we're discontinuing support for this platform, also remove all supporting infrastructure for this and switch everything that relies on this platform exclusively to SUSEQt5.15

CCMAIL: kde-frameworks-devel at kde.org

M  +0    -1    archive-configs/production.yaml
M  +0    -1    archive-configs/sandbox.yaml
R  +1    -1    custom-jobs/Extragear craft master SUSEQt5.15.pipeline [from: custom-jobs/Extragear craft master SUSEQt5.14.pipeline - 098% similarity]
M  +1    -1    custom-jobs/known-jobs.json
M  +1    -1    helpers/capture-dependency-diagram-data.py
M  +0    -1    helpers/check-platform.py
M  +2    -2    helpers/extract-cmake-dependency-metadata.py
M  +2    -2    helpers/generate-dependency-diagram-data.py
M  +0    -10   invent/ci-frameworks-linux.yml
M  +1    -1    local-metadata/abi-compliance-checker.yaml
M  +0    -1    local-metadata/product-definitions.yaml
M  +0    -3    local-metadata/project-ignore-rules.yaml
D  +0    -1    pipeline-templates/Frameworks/SUSEQt5.14.template
D  +0    -1    pipeline-templates/SUSEQt5.14.template
D  +0    -1    pipeline-templates/dependency-build/SUSEQt5.14.template
D  +0    -233  system-images/suse-qt514/Dockerfile

https://invent.kde.org/sysadmin/ci-tooling/commit/32c4018280c2870652a0be97643a01bef8ed66dd

diff --git a/archive-configs/production.yaml b/archive-configs/production.yaml
index 33d5176..f95bbfb 100644
--- a/archive-configs/production.yaml
+++ b/archive-configs/production.yaml
@@ -10,7 +10,6 @@ server:
 
 cacheLocation:
   WindowsMSVCQt5.15: "C:\\CI\\archives\\WindowsMSVCQt5.15\\"
-  SUSEQt5.14: "/srv/archives/production/SUSEQt5.14/"
   SUSEQt5.15: "/srv/archives/production/SUSEQt5.15/"
   FreeBSDQt5.15: "/usr/home/jenkins/archives/production/"
   AndroidQt5.15: "/srv/archives/production/AndroidQt5.15/"
diff --git a/archive-configs/sandbox.yaml b/archive-configs/sandbox.yaml
index d719e8c..1696314 100644
--- a/archive-configs/sandbox.yaml
+++ b/archive-configs/sandbox.yaml
@@ -10,7 +10,6 @@ server:
 
 cacheLocation:
   WindowsMSVCQt5.15: "C:\\CI\\sandbox-archives\\WindowsMSVCQt5.15\\"
-  SUSEQt5.14: "/srv/archives/sandbox/SUSEQt5.14/"
   SUSEQt5.15: "/srv/archives/sandbox/SUSEQt5.15/"
   FreeBSDQt5.15: "/usr/home/jenkins/archives/sandbox/"
   AndroidQt5.15: "/srv/archives/sandbox/AndroidQt5.15/"
diff --git a/custom-jobs/Extragear craft master SUSEQt5.14.pipeline b/custom-jobs/Extragear craft master SUSEQt5.15.pipeline
similarity index 98%
rename from custom-jobs/Extragear craft master SUSEQt5.14.pipeline
rename to custom-jobs/Extragear craft master SUSEQt5.15.pipeline
index e7e94cf..d58e76f 100644
--- a/custom-jobs/Extragear craft master SUSEQt5.14.pipeline	
+++ b/custom-jobs/Extragear craft master SUSEQt5.15.pipeline	
@@ -1,5 +1,5 @@
 // Request a node to be allocated to us
-node( "SUSEQt5.14" ) {
+node( "SUSEQt5.15" ) {
 // We want Timestamps on everything
 timestamps {
 	// We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed
diff --git a/custom-jobs/known-jobs.json b/custom-jobs/known-jobs.json
index d4bb552..e95c25b 100644
--- a/custom-jobs/known-jobs.json
+++ b/custom-jobs/known-jobs.json
@@ -1,3 +1,3 @@
 [
-	{"name": "Extragear craft master SUSEQt5.14"}
+	{"name": "Extragear craft master SUSEQt5.15"}
 ]
diff --git a/helpers/capture-dependency-diagram-data.py b/helpers/capture-dependency-diagram-data.py
index 3278349..d61be5b 100755
--- a/helpers/capture-dependency-diagram-data.py
+++ b/helpers/capture-dependency-diagram-data.py
@@ -18,7 +18,7 @@ arguments = parser.parse_args()
 
 # Are we interested in gathering this information?
 # We need to be running on the principal Linux platform - as it has the most capacity (and we can only build apidocs once)
-if arguments.platform != 'SUSEQt5.14' and arguments.platform != 'SUSEQt5.15':
+if arguments.platform != 'SUSEQt5.15':
 	# Then there is nothing for us to do
 	sys.exit(0)
 
diff --git a/helpers/check-platform.py b/helpers/check-platform.py
index d6832ab..8802e1c 100644
--- a/helpers/check-platform.py
+++ b/helpers/check-platform.py
@@ -11,7 +11,6 @@ parser.add_argument('metainfo', nargs='+', help='metainfo.yaml files', type=str)
 arguments = parser.parse_args()
 
 allPlatforms = {
-    'SUSEQt5.14': 'Linux',
     'SUSEQt5.15': 'Linux',
     'FreeBSDQt5.15': 'FreeBSD',
     'WindowsMSVCQt5.15': 'Windows',
diff --git a/helpers/extract-cmake-dependency-metadata.py b/helpers/extract-cmake-dependency-metadata.py
index 408b52a..758ed22 100755
--- a/helpers/extract-cmake-dependency-metadata.py
+++ b/helpers/extract-cmake-dependency-metadata.py
@@ -26,8 +26,8 @@ sourcesLocation = os.getcwd()
 buildLocation = CommonUtils.buildDirectoryForSources( sources=sourcesLocation, inSourceBuild=buildSpecification['in-source-build'] )
 
 # Are we allowed to run?
-# We only gather this metadata from the principal Linux platform, which at the moment is SUSEQt5.14 for Frameworks and everyone else
-if arguments.platform != 'SUSEQt5.14':
+# We only gather this metadata from the principal Linux platform, which at the moment is SUSEQt5.15 for Frameworks and everyone else
+if arguments.platform != 'SUSEQt5.15':
 	# Then there is nothing for us to do
 	sys.exit(0)
 
diff --git a/helpers/generate-dependency-diagram-data.py b/helpers/generate-dependency-diagram-data.py
index e70c600..24a9046 100755
--- a/helpers/generate-dependency-diagram-data.py
+++ b/helpers/generate-dependency-diagram-data.py
@@ -22,8 +22,8 @@ buildEnvironment = EnvironmentHandler.generateFor( installPrefix=arguments.using
 sourcesLocation = os.getcwd()
 
 # Are we allowed to run?
-# We only gather this metadata from the principal Linux platform, which at the moment is SUSEQt5.14 for everything
-if arguments.platform != 'SUSEQt5.14':
+# We only gather this metadata from the principal Linux platform, which at the moment is SUSEQt5.15 for everything
+if arguments.platform != 'SUSEQt5.15':
 	# Then there is nothing for us to do
 	sys.exit(0)
 
diff --git a/invent/ci-frameworks-linux.yml b/invent/ci-frameworks-linux.yml
index 7551975..ffe055a 100644
--- a/invent/ci-frameworks-linux.yml
+++ b/invent/ci-frameworks-linux.yml
@@ -1,16 +1,6 @@
 variables:
   PRODUCT: Frameworks
 
-linux kf5-qt5 qt5.14:
-  image: "kdeorg/ci-suse-qt514"
-  extends: .linux
-  only:
-    - master
-    - merge_requests
-  variables:
-    PLATFORM: SUSEQt5.14
-    BRANCH_GROUP: kf5-qt5
-
 linux kf5-qt5 qt5.15:
   image: "kdeorg/ci-suse-qt515"
   extends: .linux
diff --git a/local-metadata/abi-compliance-checker.yaml b/local-metadata/abi-compliance-checker.yaml
index 45510e3..e4a12a8 100644
--- a/local-metadata/abi-compliance-checker.yaml
+++ b/local-metadata/abi-compliance-checker.yaml
@@ -26,7 +26,7 @@
     checkABIDumpFailHard: False
     NoLibrariesFoundFail: False
 
-#   "SUSEQt5.14": # special settings for one platform
+#   "SUSEQt5.15": # special settings for one platform
 #     gcc_options:
 #       - something
 #       - nextsetting
diff --git a/local-metadata/product-definitions.yaml b/local-metadata/product-definitions.yaml
index a823c53..bb47415 100644
--- a/local-metadata/product-definitions.yaml
+++ b/local-metadata/product-definitions.yaml
@@ -3,7 +3,6 @@
     - repositories:
       - "frameworks/*"
       platforms:
-      - "SUSEQt5.14"
       - "SUSEQt5.15"
       - "WindowsMSVCQt5.15"
       - "FreeBSDQt5.15"
diff --git a/local-metadata/project-ignore-rules.yaml b/local-metadata/project-ignore-rules.yaml
index ab5baf5..3a9d6fa 100644
--- a/local-metadata/project-ignore-rules.yaml
+++ b/local-metadata/project-ignore-rules.yaml
@@ -1,6 +1,3 @@
-'SUSEQt5.14':
-- 'kdesupport/qca'
-
 'SUSEQt5.15':
 - 'kdesupport/qca'
 
diff --git a/pipeline-templates/Frameworks/SUSEQt5.14.template b/pipeline-templates/Frameworks/SUSEQt5.14.template
deleted file mode 120000
index 7aa4679..0000000
--- a/pipeline-templates/Frameworks/SUSEQt5.14.template
+++ /dev/null
@@ -1 +0,0 @@
-SUSEQt5.15.template
\ No newline at end of file
diff --git a/pipeline-templates/SUSEQt5.14.template b/pipeline-templates/SUSEQt5.14.template
deleted file mode 120000
index 7aa4679..0000000
--- a/pipeline-templates/SUSEQt5.14.template
+++ /dev/null
@@ -1 +0,0 @@
-SUSEQt5.15.template
\ No newline at end of file
diff --git a/pipeline-templates/dependency-build/SUSEQt5.14.template b/pipeline-templates/dependency-build/SUSEQt5.14.template
deleted file mode 120000
index 7aa4679..0000000
--- a/pipeline-templates/dependency-build/SUSEQt5.14.template
+++ /dev/null
@@ -1 +0,0 @@
-SUSEQt5.15.template
\ No newline at end of file
diff --git a/system-images/suse-qt514/Dockerfile b/system-images/suse-qt514/Dockerfile
deleted file mode 100755
index 60d8f8a..0000000
--- a/system-images/suse-qt514/Dockerfile
+++ /dev/null
@@ -1,233 +0,0 @@
-FROM opensuse/tumbleweed
-MAINTAINER openSUSE KDE Maintainers <opensuse-kde at opensuse.org>
-
-# Add KDE:Qt:5.14 repo
-RUN zypper --non-interactive addrepo --priority 50 --refresh obs://KDE:Qt:5.14/openSUSE_Tumbleweed KDE:Qt:5.14
-# Update container, import GPG key for KUQ
-RUN zypper --non-interactive --gpg-auto-import-keys -v dup
-# CUPS-devel at least does not like Busybox versions of some things, so ensure it is not used
-RUN zypper al busybox busybox-gzip
-# Install various other packages
-RUN zypper --non-interactive install java-1_8_0-openjdk-headless python3-lxml python3-paramiko python3-PyYAML python3-simplejson wget file tar gzip
-# Install hugo for apps.kde.org (we can't use hugo from openSUSE because it's missing all the extensions we use)
-RUN wget https://github.com/gohugoio/hugo/releases/download/v0.82.0/hugo_extended_0.82.0_Linux-64bit.tar.gz && \
-    tar -xzf hugo_extended_0.82.0_Linux-64bit.tar.gz && mv hugo /usr/bin && rm hugo_extended_0.82.0_Linux-64bit.tar.gz
-
-# Install build dependencies
-RUN zypper --non-interactive install --recommends -t pattern devel_qt5 devel_C_C++
-# The pattern is likely not enough, so just install all Qt devel packages from KUQ
-RUN zypper -q se --not-installed-only --repo KDE:Qt:5.14 libqt5*devel libQt5*devel | tail -n +4 | cut -d "|" -f 2 | grep -v "libqt5-creator" | grep -v "libqt5-qtvirtualkeyboard-private-headers" | grep -v "libQt5HunspellInputMethod-private-headers" | grep -vi "libqt5xdg" | grep -v "libQt5Pas" | xargs zypper --non-interactive in
-# And some other useful and base packages
-RUN zypper --non-interactive in git clang python3-Sphinx python3-qt5 xvfb-run AppStream python3-pip ruby-devel libffi-devel openbox sassc \
-    # temporarily: curl needed for appstreamcli, cmp. https://bugzilla.opensuse.org/show_bug.cgi?id=1080446
-    curl \
-    # abi tracking software and it's dependencies
-    abi-compliance-checker ctags \
-    # basic Qt5 packages, which have no -devel and should be manually installed
-    libqt5-qtquickcontrols libqt5-qtquickcontrols2 libqt5-qtgraphicaleffects \
-    # Other basic Qt based libraries
-    libqca-qt5-devel \
-    # For building documentation tarballs
-    bzip2 \
-    # For image thumbnails for the KDE.org/applications subsite
-    ImageMagick \
-    # Hidden dependency of appstream tools
-    gsettings-desktop-schemas \
-    # Useful tools for static analysis
-    clazy \
-    # Needed for API Documentation generation
-    graphviz-gd libqt5-qttools-qhelpgenerator
-RUN pip install gcovr reuse doxyqml
-RUN gem install atspi cucumber ftpd
-RUN ln -s /usr/bin/cucumber.ruby* /usr/bin/cucumber
-# KDE stuff also depends on the following
-RUN zypper --non-interactive in --allow-vendor-change \
-    # modemmanager-qt
-    ModemManager-devel \
-    # networkmanager-qt
-    NetworkManager-devel \
-    # kcoreaddons
-    lsof \
-    # kauth
-    polkit-devel \
-    # kwindowsystem
-    xcb-*-devel \
-    # prison
-    libdmtx-devel qrencode-devel \
-    # kwayland
-    wayland-devel \
-    # baloo/kfilemetadata (some for okular)
-    libattr-devel libexiv2-devel libtag-devel taglib-*-devel libepub-devel libpoppler-qt5-devel lmdb-devel \
-    # kdoctools
-    perl-URI docbook_4 docbook-xsl-stylesheets libxml2-devel libxslt-devel perl-URI \
-    # khtml
-    giflib-devel libopenssl-devel \
-    # kdelibs4support
-    libSM-devel \
-    # kdnssd
-    libavahi-devel libavahi-glib-devel libavahi-gobject-devel \
-    # khelpcenter (and pim for grantlee)
-    grantlee5-devel libxapian-devel \
-    # sonnet
-    aspell \
-    aspell-devel \
-    hunspell-devel \
-    libvoikko-devel \
-    # kio-extras and krdc
-    libssh-devel \
-    # plasma-pa
-    gconf2-devel libpulse-devel libcanberra-devel \
-    # user-manager
-    libpwquality-devel \
-    # sddm-kcm
-    libXcursor-devel \
-    # plasma-workspace
-    libXtst-devel \
-    # breeze-plymouth
-    plymouth-devel \
-    # kde-gtk-config/breeze-gtk
-    gtk3-devel gtk2-devel python3-cairo \
-    # plasma-desktop/discover
-    libAppStreamQt-devel fwupd-devel \
-    # plasma-desktop
-    xf86-input-synaptics-devel xf86-input-evdev-devel libxkbfile-devel xorg-x11-server-sdk xdg-user-dirs \
-    # kimpanel
-    ibus-devel scim-devel \
-    # libksane
-    sane-backends-devel \
-    # pim
-    libical-devel libkolabxml-devel libxerces-c-devel \
-    # <misc>
-    alsa-devel libraw-devel fftw3-devel adobe-sourcecodepro-fonts \
-    # choqok
-    qoauth-qt5-devel qtkeychain-qt5-devel \
-    # krita
-    eigen3-devel OpenColorIO-devel dejavu-fonts gnu-free-fonts quazip-devel \
-    # kaccounts / telepathy
-    libaccounts-qt5-devel libaccounts-glib-devel libsignon-qt5-devel intltool \
-    # skrooge
-    sqlcipher sqlcipher-devel sqlite3-devel sqlite3 libofx-devel poppler-tools \
-    # kwin
-    libepoxy-devel Mesa-demo Mesa-demo-x xorg-x11-server-extra dmz-icon-theme-cursors libgbm-devel weston \
-    xorg-x11-server-wayland \
-    # kgamma5
-    libXxf86vm-devel \
-    # kgraphviewer
-    graphviz-devel \
-    # drkonqi
-    at-spi2-core which libgirepository-1_0-1 typelib-1_0-Atspi-2_0 gobject-introspection-devel \
-    # kcalc
-    mpfr-devel \
-    # kdevelop
-    gdb \
-    # labplot
-    gsl-devel \
-    # kuserfeedback
-    php7 \
-    # digikam
-    QtAV-devel opencv-devel \
-    # wacomtablet
-    libwacom-devel \
-    xf86-input-wacom-devel \
-    # rust-qt-binding-generator
-    rust rust-std \
-    cargo \
-    # kdevelop
-    clang \
-    clang-devel \
-    llvm-devel \
-    subversion-devel \
-    python3-devel \
-    # clazy
-    clang-devel-static \
-    # libkleo
-    libqgpgme-devel \
-    # akonadi
-    mariadb libQt5Sql5-mysql \
-    # libkdegames
-    openal-soft-devel \
-    libsndfile-devel \
-    # kscd
-    libmusicbrainz-devel \
-    libmusicbrainz5-devel \
-    # ktp-common-internals (also rest of KDE Telepathy)
-    telepathy-qt5-devel \
-    # audiocd-kio
-    cdparanoia-devel \
-    # ark
-    libarchive-devel libzip-devel \
-    # ffmpegthumbs
-    ffmpeg-4-libavcodec-devel ffmpeg-4-libavfilter-devel ffmpeg-4-libavformat-devel ffmpeg-4-libavdevice-devel ffmpeg-4-libavutil-devel ffmpeg-4-libswscale-devel ffmpeg-4-libpostproc-devel \
-    # k3b
-    flac-devel \
-    libmad-devel \
-    libmp3lame-devel \
-    libogg-devel libvorbis-devel \
-    libsamplerate-devel \
-    # kamera
-    libgphoto2-devel \
-    # signon-kwallet-extension
-    libsignon-glib-devel signond-libs-devel \
-    # kdenlive
-    libmlt-devel libmlt++-devel libmlt6-modules libmlt6-data rttr-devel \
-    # print-manager
-    cups-devel \
-    # krfb
-    LibVNCServer-devel \
-    # kscd
-    libdiscid-devel \
-    # minuet
-    fluidsynth-devel \
-    # kajongg
-    python3-Twisted \
-    # okular
-    texlive-latex \
-    # ksmtp tests
-    cyrus-sasl-plain \
-    # kdb
-    libmariadb-devel postgresql-devel \
-    # Gwenview
-    cfitsio-devel \
-    # Calligra, Krita and probably other things elsewhere too
-    libboost_*-devel \
-    # Amarok
-    gmock gtest libcurl-devel libofa-devel libgpod-devel libmtp-devel loudmouth-devel liblastfm-qt5-devel libmysqld-devel \
-    # Cantor
-    libspectre-devel python3-numpy python3-matplotlib octave maxima libqalculate-devel moonjit-devel julia-devel \
-    # KPat
-    freecell-solver-devel black-hole-solver-devel \
-    # RKWard
-    R-base-devel gcc-fortran \
-    # Kaffeine
-    libdvbv5-devel vlc-devel libXss-devel \
-    # Keysmith
-    libsodium-devel \
-    # Plasma Phone Components
-    libphonenumber-devel \
-    # kquickcharts
-    glslang-devel \
-    # xdg-desktop-portal-kde
-    pipewire-devel \
-    # Spectacle
-    kImageAnnotator-devel kColorPicker-devel \
-    # upnp-lib-qt
-    kdsoap-devel \
-    # TotalReqall
-    sword-devel \
-    # KSysGuard
-    libnl3-devel \
-    # Kjournald
-    systemd-devel
-
-# For D-Bus to be willing to start it needs a Machine ID
-RUN dbus-uuidgen > /etc/machine-id
-
-# OpenSUSE has a different GID for the 'video' group compared to the Physical Ubuntu and Debian hosts
-# Therefore we create a group which matches the physical hosts 'video' group GID
-# This is necessary to allow us to grant Jenkins access to the vgem device
-RUN groupadd -g 44 docker-video
-# We need a user account to do things as, and SSHD needs keys
-RUN useradd -d /home/jenkins/ -u 1000 --user-group --create-home -G video,docker-video jenkins && /usr/sbin/sshd-gen-keys-start
-# We want to run SSHD so that Jenkins can remotely connect to this container
-EXPOSE 22
-CMD ["/usr/sbin/sshd", "-D"]


More information about the Kde-frameworks-devel mailing list