diff options
author | Peter Wu <peter@lekensteyn.nl> | 2020-03-05 01:54:04 +0000 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2020-03-05 04:45:52 +0000 |
commit | 6bb691189c04a8fd0d618c112290b19ea6d28a0e (patch) | |
tree | 78fef983acb413eeb2d4a0fa4cf0853ad4a6c745 /.gitlab-ci.yml | |
parent | 5fba6e973b220d933d5dfcba51437369ecfd4c6a (diff) |
gitlab-ci: remove unnecessary jobs, upgrade versions
The point of testing multiple compiler versions is to catch bugs that
only occur in one particular version. After an analysis of 800+ failed
builds, it appears that a lot of the checks are redundant. Changes:
* Drop GCC 6 and keep GCC 5, Ubuntu 16.04 default GCC is 5.3. Fixes for
warnings in old compilers: commit 829d2c3752 (GCC 5 + 6), commit
e451ea0a4d (Clang 5, GCC 4 + 5). Maybe GCC 5 can also be dropped since
Ubuntu 18.04 is around for a while.
* Drop clang-nopcap, all errors caught by Clang were also caught by GCC.
One change caught by gcc-8-nopcap but not Clang: commit 036c3d6bc7.
* Remove Clang 5: even though it triggers some unique failures, no major
distro ships with it so remove it.
* Drop old Clang versions, newer versions catch all warnings from older.
* Upgrade to Clang 8 which is already installed in the Docker image.
* Remove EOL Fedora 28 and 29, use latest (31).
* Remove EOL openSUSE Leap 42.3, keep 15.1 as the latest.
Reduces from 20 jobs (15 build, 5 test) to 10 jobs (7 build, 3 test).
Change-Id: I4a355dd1a90cbbef9525bd63a8544fa3e22369a2
Reviewed-on: https://code.wireshark.org/review/36281
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 88 |
1 files changed, 18 insertions, 70 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bbe284804e..0505dbc56e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,7 +2,6 @@ stage: build after_script: - for builddir in build/packaging/rpm/BUILD/wireshark-*/build build/packaging/rpm/BUILD/wireshark-* build; do [ ! -d "$builddir" ] || break; done - - if [ "$CI_JOB_NAME" = "build:rpm-opensuse-42.3" ]; then export LD_LIBRARY_PATH=$builddir/run; fi - if [ -f $builddir/run/tshark ]; then $builddir/run/tshark --version; fi # The custom Ubuntu image pre-installs dependencies and compilers to speed up the build: @@ -36,56 +35,29 @@ - build/packaging/rpm/RPMS expire_in: 3 days +# GCC 5 is the default compiler in Ubuntu 16.04, EOL in April 2024. gcc-5: <<: *build-ubuntu variables: CC: gcc-5 CXX: g++-5 -gcc-6: - <<: *build-ubuntu - variables: - CC: gcc-6 - CXX: g++-6 -gcc-7: - <<: *build-ubuntu - variables: - CC: gcc-7 - CXX: g++-7 -gcc-8: - <<: *build-ubuntu - variables: - CC: gcc-8 - CXX: g++-8 + +# Rely on fedora:latest and debian-stable jobs for testing a recent GCC version. +# Since this broke sporadically in the past, test lack of capture support. gcc-8-nopcap: <<: *build-ubuntu variables: CMAKE_ARGS: -DENABLE_PCAP=NO CC: gcc-8 CXX: g++-8 -clang-5: - <<: *build-ubuntu - variables: - CMAKE_ARGS: -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 - CC: clang-5.0 - CXX: clang++-5.0 -clang-6: - <<: *build-ubuntu - variables: - CMAKE_ARGS: -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 - CC: clang-6.0 - CXX: clang++-6.0 -clang-7: + +clang-8: <<: *build-ubuntu variables: CMAKE_ARGS: -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 - CC: clang-7 - CXX: clang++-7 -clang-7-nopcap: - <<: *build-ubuntu - variables: - CMAKE_ARGS: -DENABLE_PCAP=NO -DCMAKE_C_FLAGS=-Wframe-larger-than=20000 - CC: clang-7 - CXX: clang++-7 + CC: clang-8 + CXX: clang++-8 + build:rpm-centos-7: <<: *build-rpm image: centos:7 @@ -107,7 +79,8 @@ test:rpm-centos-7: - build:rpm-centos-7 variables: GIT_STRATEGY: none -.build-rpm-opensuse: &build-rpm-opensuse +build:rpm-opensuse-15.1: + image: opensuse/leap:15.1 <<: *build-rpm script: - zypper --non-interactive install update-desktop-files @@ -117,31 +90,19 @@ test:rpm-centos-7: - cd build - cmake -GNinja .. - ninja rpm-package -.test-rpm-opensuse: &test-rpm-opensuse +test:rpm-opensuse-15.1: + image: opensuse/leap:15.1 stage: test script: - zypper --no-gpg-checks install -y build/packaging/rpm/RPMS/x86_64/*.rpm - tshark --version variables: GIT_STRATEGY: none -build:rpm-opensuse-42.3: - <<: *build-rpm-opensuse - image: opensuse/leap:42.3 -test:rpm-opensuse-42.3: - <<: *test-rpm-opensuse - image: opensuse/leap:42.3 - dependencies: - - build:rpm-opensuse-42.3 -build:rpm-opensuse-15.1: - <<: *build-rpm-opensuse - image: opensuse/leap:15.1 -test:rpm-opensuse-15.1: - <<: *test-rpm-opensuse - image: opensuse/leap:15.1 dependencies: - build:rpm-opensuse-15.1 -.build-rpm-fedora: &build-rpm-fedora +build:rpm-fedora: <<: *build-rpm + image: fedora script: - dnf upgrade -y - tools/rpm-setup.sh --install-optional -y @@ -149,29 +110,16 @@ test:rpm-opensuse-15.1: - cd build - cmake3 -GNinja .. - ninja-build rpm-package -.test-rpm-fedora: &test-rpm-fedora +test:rpm-fedora: + image: fedora stage: test script: - dnf install -y build/packaging/rpm/RPMS/x86_64/*.rpm - tshark --version variables: GIT_STRATEGY: none -build:rpm-fedora-28: - <<: *build-rpm-fedora - image: fedora:28 -test:rpm-fedora-28: - <<: *test-rpm-fedora - image: fedora:28 - dependencies: - - build:rpm-fedora-28 -build:rpm-fedora-29: - <<: *build-rpm-fedora - image: fedora:29 -test:rpm-fedora-29: - <<: *test-rpm-fedora - image: fedora:29 dependencies: - - build:rpm-fedora-29 + - build:rpm-fedora # Job to generate packages for Debian stable build:debian-stable: |