255 lines
6.0 KiB
YAML
255 lines
6.0 KiB
YAML
# 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-base-ubuntu:
|
||
extends: .base-build
|
||
rules:
|
||
- if: $RELEASE == "weekly"
|
||
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
||
allow_failure: true
|
||
before_script:
|
||
# The following ppa is needed only for Ubuntu 18.04 to install g++9
|
||
- apt update
|
||
- DEBIAN_FRONTEND=noninteractive apt install -y software-properties-common
|
||
- add-apt-repository ppa:ubuntu-toolchain-r/test -y
|
||
- apt update
|
||
- apt upgrade -y
|
||
- DEBIAN_FRONTEND=noninteractive apt install -y
|
||
$COMPILER 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
|
||
libeigen3-dev
|
||
qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
|
||
ssh
|
||
|
||
weekly-ubuntu:
|
||
rules:
|
||
- if: $RELEASE == "weekly"
|
||
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
||
when: manual
|
||
allow_failure: true
|
||
stage: pre-build
|
||
script:
|
||
- echo "Starting Ubuntu jobs"
|
||
|
||
# Ubuntu 18.04 (Until April 2023)
|
||
weekly-build-ubuntu-18.04-debug:
|
||
extends: .weekly-base-ubuntu
|
||
needs: ["weekly-ubuntu"]
|
||
image: ubuntu:18.04
|
||
stage: build
|
||
variables:
|
||
MODE: debug
|
||
LIBGSL: libgsl23
|
||
COMPILER: g++-9
|
||
|
||
weekly-build-ubuntu-18.04-default:
|
||
extends: .weekly-base-ubuntu
|
||
needs: ["weekly-ubuntu"]
|
||
image: ubuntu:18.04
|
||
stage: build
|
||
variables:
|
||
MODE: default
|
||
LIBGSL: libgsl23
|
||
COMPILER: g++-9
|
||
|
||
weekly-build-ubuntu-18.04-optimized:
|
||
extends: .weekly-base-ubuntu
|
||
needs: ["weekly-ubuntu"]
|
||
image: ubuntu:18.04
|
||
stage: build
|
||
variables:
|
||
MODE: optimized
|
||
LIBGSL: libgsl23
|
||
COMPILER: g++-9
|
||
|
||
weekly-test-ubuntu-18.04-default:
|
||
extends: .weekly-base-ubuntu
|
||
image: ubuntu:18.04
|
||
stage: test
|
||
needs: ["weekly-build-ubuntu-18.04-default"]
|
||
dependencies:
|
||
- weekly-build-ubuntu-18.04-default
|
||
variables:
|
||
MODE: default
|
||
LIBGSL: libgsl23
|
||
COMPILER: g++-9
|
||
|
||
weekly-test-ubuntu-18.04-optimized:
|
||
extends: .weekly-base-ubuntu
|
||
image: ubuntu:18.04
|
||
stage: test
|
||
needs: ["weekly-build-ubuntu-18.04-optimized"]
|
||
dependencies:
|
||
- weekly-build-ubuntu-18.04-optimized
|
||
variables:
|
||
MODE: optimized
|
||
LIBGSL: libgsl23
|
||
COMPILER: g++-9
|
||
|
||
# # Ubuntu 20.04 (Until April 2025)
|
||
# weekly-build-ubuntu-20.04-debug:
|
||
# extends: .weekly-base-ubuntu
|
||
# image: ubuntu:20.04
|
||
# variables:
|
||
# MODE: debug
|
||
# LIBGSL: libgsl23
|
||
|
||
# weekly-build-ubuntu-20.04-default:
|
||
# extends: .weekly-base-ubuntu
|
||
# image: ubuntu:20.04
|
||
# variables:
|
||
# MODE: default
|
||
# LIBGSL: libgsl23
|
||
|
||
# weekly-build-ubuntu-20.04-optimized:
|
||
# extends: .weekly-base-ubuntu
|
||
# image: ubuntu:20.04
|
||
# variables:
|
||
# MODE: optimized
|
||
# LIBGSL: libgsl23
|
||
|
||
# Ubuntu 22.04 (Until January 2032) -- commented out because we are using Ubuntu 22.04 for gcc jobs
|
||
# weekly-build-ubuntu-22.04-debug:
|
||
# extends: .weekly-base-ubuntu
|
||
# needs: ["weekly-ubuntu"]
|
||
# image: ubuntu:22.04
|
||
# stage: build
|
||
# variables:
|
||
# MODE: debug
|
||
# LIBGSL: libgsl27
|
||
# COMPILER: g++
|
||
|
||
# weekly-build-ubuntu-22.04-default:
|
||
# extends: .weekly-base-ubuntu
|
||
# needs: ["weekly-ubuntu"]
|
||
# image: ubuntu:22.04
|
||
# stage: build
|
||
# variables:
|
||
# MODE: default
|
||
# LIBGSL: libgsl27
|
||
# COMPILER: g++
|
||
|
||
# weekly-build-ubuntu-22.04-optimized:
|
||
# extends: .weekly-base-ubuntu
|
||
# needs: ["weekly-ubuntu"]
|
||
# image: ubuntu:22.04
|
||
# stage: build
|
||
# variables:
|
||
# MODE: optimized
|
||
# LIBGSL: libgsl27
|
||
# COMPILER: g++
|
||
|
||
# weekly-test-ubuntu-22.04-default:
|
||
# extends: .weekly-base-ubuntu
|
||
# image: ubuntu:22.04
|
||
# stage: test
|
||
# needs: ["weekly-build-ubuntu-22.04-default"]
|
||
# dependencies:
|
||
# - weekly-build-ubuntu-22.04-default
|
||
# variables:
|
||
# MODE: default
|
||
# LIBGSL: libgsl27
|
||
# COMPILER: g++
|
||
|
||
# weekly-test-ubuntu-22.04-optimized:
|
||
# extends: .weekly-base-ubuntu
|
||
# image: ubuntu:22.04
|
||
# stage: test
|
||
# needs: ["weekly-build-ubuntu-22.04-optimized"]
|
||
# dependencies:
|
||
# - weekly-build-ubuntu-22.04-optimized
|
||
# variables:
|
||
# MODE: optimized
|
||
# LIBGSL: libgsl27
|
||
# COMPILER: g++
|
||
|
||
# Ubuntu Latest
|
||
weekly-build-ubuntu-latest-debug:
|
||
extends: .weekly-base-ubuntu
|
||
needs: ["weekly-ubuntu"]
|
||
image: ubuntu:latest
|
||
stage: build
|
||
variables:
|
||
MODE: debug
|
||
LIBGSL: libgsl27
|
||
COMPILER: g++
|
||
|
||
weekly-build-ubuntu-latest-default:
|
||
extends: .weekly-base-ubuntu
|
||
needs: ["weekly-ubuntu"]
|
||
image: ubuntu:latest
|
||
stage: build
|
||
variables:
|
||
MODE: default
|
||
LIBGSL: libgsl27
|
||
COMPILER: g++
|
||
|
||
weekly-build-ubuntu-latest-optimized:
|
||
extends: .weekly-base-ubuntu
|
||
needs: ["weekly-ubuntu"]
|
||
image: ubuntu:latest
|
||
stage: build
|
||
variables:
|
||
MODE: optimized
|
||
LIBGSL: libgsl27
|
||
COMPILER: g++
|
||
|
||
weekly-test-ubuntu-latest-default:
|
||
extends: .weekly-base-ubuntu
|
||
image: ubuntu:latest
|
||
stage: test
|
||
needs: ["weekly-build-ubuntu-latest-default"]
|
||
dependencies:
|
||
- weekly-build-ubuntu-latest-default
|
||
variables:
|
||
MODE: default
|
||
LIBGSL: libgsl27
|
||
COMPILER: g++
|
||
|
||
weekly-test-ubuntu-latest-optimized:
|
||
extends: .weekly-base-ubuntu
|
||
image: ubuntu:latest
|
||
stage: test
|
||
needs: ["weekly-build-ubuntu-latest-optimized"]
|
||
dependencies:
|
||
- weekly-build-ubuntu-latest-optimized
|
||
variables:
|
||
MODE: optimized
|
||
LIBGSL: libgsl27
|
||
COMPILER: g++
|
||
|
||
# Ubuntu Rolling
|
||
# weekly-build-ubuntu-rolling-debug:
|
||
# extends: .weekly-base-ubuntu
|
||
# image: ubuntu:rolling
|
||
# variables:
|
||
# MODE: debug
|
||
# LIBGSL: libgsl27
|
||
|
||
# weekly-build-ubuntu-rolling-default:
|
||
# extends: .weekly-base-ubuntu
|
||
# image: ubuntu:rolling
|
||
# variables:
|
||
# MODE: default
|
||
# LIBGSL: libgsl27
|
||
|
||
# weekly-build-ubuntu-rolling-optimized:
|
||
# extends: .weekly-base-ubuntu
|
||
# image: ubuntu:rolling
|
||
# variables:
|
||
# MODE: optimized
|
||
# LIBGSL: libgsl27
|