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>
This commit is contained in:
Peter Wu 2020-03-05 01:54:04 +00:00 committed by Anders Broman
parent 5fba6e973b
commit 6bb691189c
1 changed files with 18 additions and 70 deletions

View File

@ -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:
clang-8:
<<: *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:
<<: *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: