# NS3 CI script for ubuntu # Any scheduled pipeline for Ubuntu should define a variable, named # "RELEASE", that has a value "weekly". Also, the variable "UBUNTU" should be # set to True. # Please take a look at .gitlab-ci.yml to check the dependencies of Ubuntu jobs. # Ubuntu base .weekly-build-ubuntu: extends: .base-build only: variables: - $RELEASE == "weekly" - $UBUNTU == "True" before_script: - apt update - apt upgrade -y - DEBIAN_FRONTEND=noninteractive apt install -y g++ cmake ninja-build ccache python3 python3-dev gsl-bin libgsl-dev $LIBGSL libboost-all-dev libgtk-3-dev libfl-dev libxml2 libxml2-dev libopenmpi-dev openmpi-bin openmpi-common openmpi-doc libsqlite3-dev sqlite3 qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools bison flex ssh variables: COMPILER: g++ # Ubuntu 18.04 (Until April 2023) weekly-build-ubuntu-18.04-debug: extends: .weekly-build-ubuntu image: ubuntu:18.04 before_script: - apt update - apt upgrade -y - apt install -y software-properties-common - add-apt-repository ppa:ubuntu-toolchain-r/test -y - apt update - DEBIAN_FRONTEND=noninteractive apt install -y g++-9 cmake ninja-build ccache python3 python3-dev gsl-bin libgsl-dev $LIBGSL libboost-all-dev libgtk-3-dev libfl-dev libxml2 libxml2-dev libopenmpi-dev openmpi-bin openmpi-common openmpi-doc libsqlite3-dev sqlite3 qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools bison flex ssh - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7 - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 800 --slave /usr/bin/g++ g++ /usr/bin/g++-9 variables: MODE: debug LIBGSL: libgsl23 weekly-build-ubuntu-18.04-default: extends: .weekly-build-ubuntu image: ubuntu:18.04 before_script: - apt update - apt install -y software-properties-common - add-apt-repository ppa:ubuntu-toolchain-r/test -y - apt update - DEBIAN_FRONTEND=noninteractive apt install -y g++-9 cmake ninja-build ccache python3 python3-dev gsl-bin libgsl-dev $LIBGSL libboost-all-dev libgtk-3-dev libfl-dev libxml2 libxml2-dev libopenmpi-dev openmpi-bin openmpi-common openmpi-doc libsqlite3-dev sqlite3 qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools bison flex ssh - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7 - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 800 --slave /usr/bin/g++ g++ /usr/bin/g++-9 variables: MODE: default LIBGSL: libgsl23 weekly-build-ubuntu-18.04-optimized: extends: .weekly-build-ubuntu image: ubuntu:18.04 before_script: - apt update - apt install -y software-properties-common - add-apt-repository ppa:ubuntu-toolchain-r/test -y - apt update - DEBIAN_FRONTEND=noninteractive apt install -y g++-9 cmake ninja-build ccache python3 python3-dev gsl-bin libgsl-dev $LIBGSL libboost-all-dev libgtk-3-dev libfl-dev libxml2 libxml2-dev libopenmpi-dev openmpi-bin openmpi-common openmpi-doc libsqlite3-dev sqlite3 qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools bison flex ssh - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7 - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 800 --slave /usr/bin/g++ g++ /usr/bin/g++-9 variables: MODE: optimized LIBGSL: libgsl23 # # Ubuntu 20.04 (Until April 2025) # weekly-build-ubuntu-20.04-debug: # extends: .weekly-build-ubuntu # image: ubuntu:20.04 # variables: # MODE: debug # LIBGSL: libgsl23 # weekly-build-ubuntu-20.04-default: # extends: .weekly-build-ubuntu # image: ubuntu:20.04 # variables: # MODE: default # LIBGSL: libgsl23 # weekly-build-ubuntu-20.04-optimized: # extends: .weekly-build-ubuntu # image: ubuntu:20.04 # variables: # MODE: optimized # LIBGSL: libgsl23 # # Ubuntu 21.04 (Until January 2022) # weekly-build-ubuntu-21.04-debug: # extends: .weekly-build-ubuntu # image: ubuntu:21.04 # variables: # MODE: debug # LIBGSL: libgsl25 # weekly-build-ubuntu-21.04-default: # extends: .weekly-build-ubuntu # image: ubuntu:21.04 # variables: # MODE: default # LIBGSL: libgsl25 # weekly-build-ubuntu-21.04-optimized: # extends: .weekly-build-ubuntu # image: ubuntu:21.04 # variables: # MODE: optimized # LIBGSL: libgsl25 # Ubuntu 22.04 (Until January 2032) weekly-build-ubuntu-22.04-debug: extends: .weekly-build-ubuntu image: ubuntu:22.04 variables: MODE: debug LIBGSL: libgsl27 weekly-build-ubuntu-22.04-default: extends: .weekly-build-ubuntu image: ubuntu:22.04 variables: MODE: default LIBGSL: libgsl27 weekly-build-ubuntu-22.04-optimized: extends: .weekly-build-ubuntu image: ubuntu:22.04 variables: MODE: optimized LIBGSL: libgsl27 # Ubuntu Rolling # weekly-build-ubuntu-rolling-debug: # extends: .weekly-build-ubuntu # image: ubuntu:rolling # variables: # MODE: debug # LIBGSL: libgsl27 # weekly-build-ubuntu-rolling-default: # extends: .weekly-build-ubuntu # image: ubuntu:rolling # variables: # MODE: default # LIBGSL: libgsl27 # weekly-build-ubuntu-rolling-optimized: # extends: .weekly-build-ubuntu # image: ubuntu:rolling # variables: # MODE: optimized # LIBGSL: libgsl27