341 lines
7.0 KiB
YAML
341 lines
7.0 KiB
YAML
# NS3 CI script for GCC
|
|
|
|
# Any scheduled pipeline for GCC should define a variable, named
|
|
# "RELEASE", that has a value "weekly". Also, a variable "GCC" should be set
|
|
# to True.
|
|
|
|
# We support from 8 to the latest version. Check if everything builds fine
|
|
# under debug, default, and optimized, on Linux.
|
|
|
|
.weekly-gcc-base:
|
|
extends: .base-build
|
|
rules:
|
|
- if: $RELEASE == "weekly"
|
|
- if: $UBUNTU == "True"
|
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
allow_failure: true
|
|
before_script:
|
|
- 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
|
|
variables:
|
|
ENABLE_MPI: --enable-mpi
|
|
|
|
weekly-gcc:
|
|
rules:
|
|
- if: $RELEASE == "weekly"
|
|
- if: $UBUNTU == "True"
|
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
when: manual
|
|
allow_failure: true
|
|
stage: pre-build
|
|
script:
|
|
- echo "Starting GCC jobs"
|
|
|
|
# GCC 8
|
|
weekly-build-gcc-8-debug:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:20.04
|
|
stage: build
|
|
variables:
|
|
MODE: debug
|
|
COMPILER: g++-8
|
|
LIBGSL: libgsl23
|
|
|
|
weekly-build-gcc-8-default:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:20.04
|
|
stage: build
|
|
variables:
|
|
MODE: default
|
|
COMPILER: g++-8
|
|
LIBGSL: libgsl23
|
|
|
|
weekly-build-gcc-8-optimized:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:20.04
|
|
stage: build
|
|
variables:
|
|
MODE: optimized
|
|
COMPILER: g++-8
|
|
LIBGSL: libgsl23
|
|
|
|
weekly-test-gcc-8-default:
|
|
extends: .weekly-gcc-base
|
|
image: ubuntu:20.04
|
|
stage: test
|
|
needs: ["weekly-build-gcc-8-default"]
|
|
cache:
|
|
key: "ccache-weekly-build-gcc-8-default"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
MODE: default
|
|
COMPILER: g++-8
|
|
LIBGSL: libgsl23
|
|
|
|
weekly-test-gcc-8-optimized:
|
|
extends: .weekly-gcc-base
|
|
image: ubuntu:20.04
|
|
stage: test
|
|
needs: ["weekly-build-gcc-8-optimized"]
|
|
cache:
|
|
key: "ccache-weekly-build-gcc-8-optimized"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
MODE: optimized
|
|
COMPILER: g++-8
|
|
LIBGSL: libgsl23
|
|
|
|
# GCC 9
|
|
weekly-build-gcc-9-debug:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:20.04
|
|
stage: build
|
|
variables:
|
|
MODE: debug
|
|
COMPILER: g++-9
|
|
LIBGSL: libgsl23
|
|
|
|
weekly-build-gcc-9-default:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:20.04
|
|
stage: build
|
|
variables:
|
|
MODE: default
|
|
COMPILER: g++-9
|
|
LIBGSL: libgsl23
|
|
|
|
weekly-build-gcc-9-optimized:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:20.04
|
|
stage: build
|
|
variables:
|
|
MODE: optimized
|
|
COMPILER: g++-9
|
|
LIBGSL: libgsl23
|
|
|
|
weekly-test-gcc-9-default:
|
|
extends: .weekly-gcc-base
|
|
image: ubuntu:20.04
|
|
stage: test
|
|
needs: ["weekly-build-gcc-9-default"]
|
|
cache:
|
|
key: "ccache-weekly-build-gcc-9-default"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
MODE: default
|
|
COMPILER: g++-9
|
|
LIBGSL: libgsl23
|
|
|
|
weekly-test-gcc-9-optimized:
|
|
extends: .weekly-gcc-base
|
|
image: ubuntu:20.04
|
|
stage: test
|
|
needs: ["weekly-build-gcc-9-optimized"]
|
|
cache:
|
|
key: "ccache-weekly-build-gcc-9-optimized"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
MODE: optimized
|
|
COMPILER: g++-9
|
|
LIBGSL: libgsl23
|
|
|
|
# GCC 10
|
|
weekly-build-gcc-10-debug:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:20.04
|
|
stage: build
|
|
variables:
|
|
MODE: debug
|
|
COMPILER: g++-10
|
|
LIBGSL: libgsl23
|
|
|
|
weekly-build-gcc-10-default:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:20.04
|
|
stage: build
|
|
variables:
|
|
MODE: default
|
|
COMPILER: g++-10
|
|
LIBGSL: libgsl23
|
|
|
|
weekly-build-gcc-10-optimized:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:20.04
|
|
stage: build
|
|
variables:
|
|
MODE: optimized
|
|
COMPILER: g++-10
|
|
LIBGSL: libgsl23
|
|
|
|
weekly-test-gcc-10-default:
|
|
extends: .weekly-gcc-base
|
|
image: ubuntu:20.04
|
|
stage: test
|
|
needs: ["weekly-build-gcc-10-default"]
|
|
cache:
|
|
key: "ccache-weekly-build-gcc-10-default"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
MODE: default
|
|
COMPILER: g++-10
|
|
LIBGSL: libgsl23
|
|
|
|
weekly-test-gcc-10-optimized:
|
|
extends: .weekly-gcc-base
|
|
image: ubuntu:20.04
|
|
stage: test
|
|
needs: ["weekly-build-gcc-10-optimized"]
|
|
cache:
|
|
key: "ccache-weekly-build-gcc-10-optimized"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
MODE: optimized
|
|
COMPILER: g++-10
|
|
LIBGSL: libgsl23
|
|
|
|
# GCC 11
|
|
weekly-build-gcc-11-debug:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:22.04
|
|
stage: build
|
|
variables:
|
|
MODE: debug
|
|
COMPILER: g++-11
|
|
LIBGSL: libgsl27
|
|
|
|
weekly-build-gcc-11-default:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:22.04
|
|
stage: build
|
|
variables:
|
|
MODE: default
|
|
COMPILER: g++-11
|
|
LIBGSL: libgsl27
|
|
|
|
weekly-build-gcc-11-optimized:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:22.04
|
|
stage: build
|
|
variables:
|
|
MODE: optimized
|
|
COMPILER: g++-11
|
|
LIBGSL: libgsl27
|
|
|
|
weekly-test-gcc-11-default:
|
|
extends: .weekly-gcc-base
|
|
image: ubuntu:22.04
|
|
stage: test
|
|
needs: ["weekly-build-gcc-11-default"]
|
|
cache:
|
|
key: "ccache-weekly-build-gcc-11-default"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
MODE: default
|
|
COMPILER: g++-11
|
|
LIBGSL: libgsl27
|
|
|
|
weekly-test-gcc-11-optimized:
|
|
extends: .weekly-gcc-base
|
|
image: ubuntu:22.04
|
|
stage: test
|
|
needs: ["weekly-build-gcc-11-optimized"]
|
|
cache:
|
|
key: "ccache-weekly-build-gcc-11-optimized"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
MODE: optimized
|
|
COMPILER: g++-11
|
|
LIBGSL: libgsl27
|
|
|
|
# GCC 12
|
|
weekly-build-gcc-12-debug:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:22.04
|
|
stage: build
|
|
variables:
|
|
MODE: debug
|
|
COMPILER: g++-12
|
|
LIBGSL: libgsl27
|
|
|
|
weekly-build-gcc-12-default:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:22.04
|
|
stage: build
|
|
variables:
|
|
MODE: default
|
|
COMPILER: g++-12
|
|
LIBGSL: libgsl27
|
|
|
|
weekly-build-gcc-12-optimized:
|
|
extends: .weekly-gcc-base
|
|
needs: ["weekly-gcc"]
|
|
image: ubuntu:22.04
|
|
stage: build
|
|
variables:
|
|
MODE: optimized
|
|
COMPILER: g++-12
|
|
LIBGSL: libgsl27
|
|
|
|
weekly-test-gcc-12-default:
|
|
extends: .weekly-gcc-base
|
|
image: ubuntu:22.04
|
|
stage: test
|
|
needs: ["weekly-build-gcc-12-default"]
|
|
cache:
|
|
key: "ccache-weekly-build-gcc-12-default"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
MODE: default
|
|
COMPILER: g++-12
|
|
LIBGSL: libgsl27
|
|
|
|
weekly-test-gcc-12-optimized:
|
|
extends: .weekly-gcc-base
|
|
image: ubuntu:22.04
|
|
stage: test
|
|
needs: ["weekly-build-gcc-12-optimized"]
|
|
cache:
|
|
key: "ccache-weekly-build-gcc-12-optimized"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
MODE: optimized
|
|
COMPILER: g++-12
|
|
LIBGSL: libgsl27
|