ci: Replace EOL Ubuntu 20.04 with 22.04 and 24.04

This commit is contained in:
Gabriel Ferreira
2025-05-16 16:16:57 +02:00
parent c0f1084afa
commit bba771a55f
5 changed files with 83 additions and 112 deletions

View File

@@ -4,8 +4,8 @@
# "RELEASE", that has a value "weekly". Also, a variable "CLANG" should be set
# to True.
# We support CLANG versions 11 through 18
# We test only CLANG 11 on Ubuntu 20.04 and CLANG 18 on Ubuntu 24.04
# We support CLANG versions 17 through 20
# We test only CLANG 17 and CLANG 18 on Ubuntu 24.04
.weekly-clang-ubuntu:
extends: .base-build
@@ -28,13 +28,12 @@
variables:
COMPILER: clang++-$CLANG
.weekly-clang-ubuntu20.04:
image: ubuntu:20.04
.weekly-clang-ubuntu24.04:
image: ubuntu:24.04
extends: .weekly-clang-ubuntu
variables:
LIBGSL: libgsl23
LIBGSL: libgsl27
EXTRA_PACKAGES: libstdc++-10-dev
EXTRA_OPTIONS: --disable-eigen
.weekly-clang-ubuntu24.04:
image: ubuntu:24.04
@@ -52,49 +51,49 @@ weekly-clang:
script:
- echo "Starting clang jobs"
# CLANG 11
weekly-build-clang-11-debug:
extends: .weekly-clang-ubuntu20.04
# CLANG 17
weekly-build-clang-17-debug:
extends: .weekly-clang-ubuntu24.04
needs: ["weekly-clang"]
stage: build
variables:
CLANG: 11
CLANG: 17
MODE: debug
weekly-build-clang-11-default:
extends: .weekly-clang-ubuntu20.04
weekly-build-clang-17-default:
extends: .weekly-clang-ubuntu24.04
needs: ["weekly-clang"]
stage: build
variables:
CLANG: 11
CLANG: 17
MODE: default
weekly-build-clang-11-optimized:
extends: .weekly-clang-ubuntu20.04
weekly-build-clang-17-optimized:
extends: .weekly-clang-ubuntu24.04
needs: ["weekly-clang"]
stage: build
variables:
CLANG: 11
CLANG: 17
MODE: optimized
weekly-test-clang-11-default:
extends: .weekly-clang-ubuntu20.04
weekly-test-clang-17-default:
extends: .weekly-clang-ubuntu24.04
stage: test
needs: ["weekly-build-clang-11-default"]
needs: ["weekly-build-clang-17-default"]
dependencies:
- weekly-build-clang-11-default
- weekly-build-clang-17-default
variables:
CLANG: 11
CLANG: 17
MODE: default
weekly-test-clang-11-optimized:
extends: .weekly-clang-ubuntu20.04
weekly-test-clang-17-optimized:
extends: .weekly-clang-ubuntu24.04
stage: test
needs: ["weekly-build-clang-11-optimized"]
needs: ["weekly-build-clang-17-optimized"]
dependencies:
- weekly-build-clang-11-optimized
- weekly-build-clang-17-optimized
variables:
CLANG: 11
CLANG: 17
MODE: optimized
# CLANG 18

View File

@@ -46,28 +46,6 @@ cppyy-22.04:
- ./ns3 run ./utils/python-unit-tests.py
timeout: 9h
cppyy-20.04:
stage: test
image: ubuntu:20.04 # python 3.8
rules:
- if: $RELEASE == "manual"
before_script:
- apt update
- DEBIAN_FRONTEND=noninteractive apt install -y
g++ cmake ninja-build ccache
python3 python3-pip
libboost-dev libgsl-dev libgtk-3-dev
git wget
- pip install cppyy==3.1.2
script:
- ./ns3 configure -G Ninja --enable-python-bindings
- ./ns3 build
- ./ns3 run first.py
- ./ns3 run second.py
- ./ns3 run third.py
- ./ns3 run ./utils/python-unit-tests.py
timeout: 9h
.manylinux-pip-wheel:
stage: test
image: quay.io/pypa/manylinux_2_28_x86_64

View File

@@ -50,8 +50,6 @@ weekly-gcc:
script:
- echo "Starting GCC jobs"
# GCC 10 (not tested here since it is configured for Ubuntu 20.04)
# GCC 13
weekly-build-gcc-13-debug:
extends: .weekly-gcc-base

View File

@@ -40,62 +40,7 @@ weekly-ubuntu:
script:
- echo "Starting Ubuntu jobs"
# Ubuntu 20.04 (Until April 2025)
weekly-build-ubuntu-20.04-debug:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:20.04
stage: build
variables:
MODE: debug
LIBGSL: libgsl23
COMPILER: g++-10
weekly-build-ubuntu-20.04-default:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:20.04
stage: build
variables:
MODE: default
LIBGSL: libgsl23
COMPILER: g++-10
weekly-build-ubuntu-20.04-optimized:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:20.04
stage: build
variables:
MODE: optimized
LIBGSL: libgsl23
COMPILER: g++-10
weekly-test-ubuntu-20.04-default:
extends: .weekly-base-ubuntu
image: ubuntu:20.04
stage: test
needs: ["weekly-build-ubuntu-20.04-default"]
dependencies:
- weekly-build-ubuntu-20.04-default
variables:
MODE: default
LIBGSL: libgsl23
COMPILER: g++-10
weekly-test-ubuntu-20.04-optimized:
extends: .weekly-base-ubuntu
image: ubuntu:20.04
stage: test
needs: ["weekly-build-ubuntu-20.04-optimized"]
dependencies:
- weekly-build-ubuntu-20.04-optimized
variables:
MODE: optimized
LIBGSL: libgsl23
COMPILER: g++-10
# Ubuntu 22.04 (Until January 2032)
# Ubuntu 22.04 (Until April 2027)
weekly-build-ubuntu-22.04-debug:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
@@ -150,6 +95,61 @@ weekly-test-ubuntu-22.04-optimized:
LIBGSL: libgsl27
COMPILER: g++
# Ubuntu 24.04 (Until April 2029)
weekly-build-ubuntu-24.04-debug:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:24.04
stage: build
variables:
MODE: debug
LIBGSL: libgsl27
COMPILER: g++
weekly-build-ubuntu-24.04-default:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:24.04
stage: build
variables:
MODE: default
LIBGSL: libgsl27
COMPILER: g++
weekly-build-ubuntu-24.04-optimized:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
image: ubuntu:24.04
stage: build
variables:
MODE: optimized
LIBGSL: libgsl27
COMPILER: g++
weekly-test-ubuntu-24.04-default:
extends: .weekly-base-ubuntu
image: ubuntu:24.04
stage: test
needs: ["weekly-build-ubuntu-24.04-default"]
dependencies:
- weekly-build-ubuntu-24.04-default
variables:
MODE: default
LIBGSL: libgsl27
COMPILER: g++
weekly-test-ubuntu-24.04-optimized:
extends: .weekly-base-ubuntu
image: ubuntu:24.04
stage: test
needs: ["weekly-build-ubuntu-24.04-optimized"]
dependencies:
- weekly-build-ubuntu-24.04-optimized
variables:
MODE: optimized
LIBGSL: libgsl27
COMPILER: g++
# Ubuntu Rolling (latest released, might be non-LTS)
weekly-build-ubuntu-rolling-debug:
extends: .weekly-base-ubuntu
@@ -171,7 +171,6 @@ weekly-build-ubuntu-rolling-default:
LIBGSL: libgsl28
COMPILER: g++
# Aug. 26, 2023: --disable-eigen is needed to prevent a -Werror=unused-variable
weekly-build-ubuntu-rolling-optimized:
extends: .weekly-base-ubuntu
needs: ["weekly-ubuntu"]
@@ -181,7 +180,6 @@ weekly-build-ubuntu-rolling-optimized:
MODE: optimized
LIBGSL: libgsl28
COMPILER: g++
EXTRA_OPTIONS: --disable-eigen
weekly-test-ubuntu-rolling-default:
extends: .weekly-base-ubuntu
@@ -195,7 +193,6 @@ weekly-test-ubuntu-rolling-default:
LIBGSL: libgsl28
COMPILER: g++
# Aug. 26, 2023: --disable-eigen is needed to prevent a -Werror=unused-variable
weekly-test-ubuntu-rolling-optimized:
extends: .weekly-base-ubuntu
image: ubuntu:rolling
@@ -207,4 +204,3 @@ weekly-test-ubuntu-rolling-optimized:
MODE: optimized
LIBGSL: libgsl28
COMPILER: g++
EXTRA_OPTIONS: --disable-eigen

View File

@@ -1929,10 +1929,10 @@ class NS3ConfigureTestCase(NS3BaseTestCase):
"""
run_ns3("clean")
with DockerContainerManager(self, "ubuntu:20.04") as container:
with DockerContainerManager(self, "ubuntu:22.04") as container:
container.execute("apt-get update")
container.execute("apt-get remove -y g++")
container.execute("apt-get install -y python3 cmake g++-10 clang-11")
container.execute("apt-get install -y python3 cmake g++-11 clang-17")
# Enable Ninja tracing without using the Ninja generator
try: