265 lines
5.8 KiB
YAML
265 lines
5.8 KiB
YAML
# NS3 CI script for CLANG
|
|
|
|
# Any scheduled pipeline for CLANG should define a variable, named
|
|
# "RELEASE", that has a value "weekly". Also, a variable "CLANG" should be set
|
|
# to True.
|
|
|
|
# We support CLANG 6, 8, 9, 10, 11, 12, 13, 14
|
|
# We test only CLANG 6 and 10 on Ubuntu 18.04, and 11 and 14 on Ubuntu 22.04
|
|
# The test is done under Linux.
|
|
|
|
.weekly-clang-ubuntu18.04:
|
|
image: ubuntu:18.04
|
|
extends: .base-build
|
|
rules:
|
|
- if: $RELEASE == "weekly"
|
|
- if: $CLANG_BUILD_ENABLE == "True"
|
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
allow_failure: true
|
|
before_script:
|
|
- apt update
|
|
- apt upgrade -y
|
|
- apt install -y
|
|
clang-$CLANG cmake ninja-build ccache build-essential
|
|
libboost-all-dev
|
|
libeigen3-dev
|
|
libgtk-3-0 libgtk-3-dev
|
|
libgsl-dev $LIBGSL gsl-bin
|
|
libsqlite3-dev sqlite3
|
|
libxml2 libxml2-dev
|
|
ssh
|
|
variables:
|
|
COMPILER: clang++-$CLANG
|
|
LIBGSL: libgsl23
|
|
|
|
.weekly-clang-ubuntu22.04:
|
|
image: ubuntu:22.04
|
|
extends: .base-build
|
|
rules:
|
|
- if: $RELEASE == "weekly"
|
|
- if: $CLANG_BUILD_ENABLE == "True"
|
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
allow_failure: true
|
|
before_script:
|
|
- apt update
|
|
- apt upgrade -y
|
|
- apt install -y
|
|
clang-$CLANG cmake ninja-build ccache build-essential
|
|
libboost-all-dev
|
|
libeigen3-dev
|
|
libgtk-3-0 libgtk-3-dev
|
|
libgsl-dev $LIBGSL gsl-bin
|
|
libsqlite3-dev sqlite3
|
|
libxml2 libxml2-dev
|
|
ssh
|
|
variables:
|
|
COMPILER: clang++-$CLANG
|
|
LIBGSL: libgsl27
|
|
|
|
weekly-clang:
|
|
rules:
|
|
- if: $RELEASE == "weekly"
|
|
- if: $CLANG_BUILD_ENABLE == "True"
|
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
when: manual
|
|
allow_failure: true
|
|
stage: pre-build
|
|
script:
|
|
- echo "Starting clang jobs"
|
|
|
|
# CLANG 6
|
|
weekly-build-clang-6-debug:
|
|
extends: .weekly-clang-ubuntu18.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: "6.0"
|
|
MODE: debug
|
|
|
|
weekly-build-clang-6-default:
|
|
extends: .weekly-clang-ubuntu18.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: "6.0"
|
|
MODE: default
|
|
|
|
weekly-build-clang-6-optimized:
|
|
extends: .weekly-clang-ubuntu18.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: "6.0"
|
|
MODE: optimized
|
|
|
|
weekly-test-clang-6-default:
|
|
extends: .weekly-clang-ubuntu18.04
|
|
stage: test
|
|
needs: ["weekly-build-clang-6-default"]
|
|
cache:
|
|
key: "ccache-weekly-build-clang-6-default"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
CLANG: "6.0"
|
|
MODE: default
|
|
|
|
weekly-test-clang-6-optimized:
|
|
extends: .weekly-clang-ubuntu18.04
|
|
stage: test
|
|
needs: ["weekly-build-clang-6-optimized"]
|
|
cache:
|
|
key: "ccache-weekly-build-clang-6-optimized"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
CLANG: "6.0"
|
|
MODE: optimized
|
|
|
|
# CLANG 10
|
|
weekly-build-clang-10-debug:
|
|
extends: .weekly-clang-ubuntu18.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 10
|
|
MODE: debug
|
|
|
|
weekly-build-clang-10-default:
|
|
extends: .weekly-clang-ubuntu18.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 10
|
|
MODE: default
|
|
|
|
weekly-build-clang-10-optimized:
|
|
extends: .weekly-clang-ubuntu18.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 10
|
|
MODE: optimized
|
|
|
|
weekly-test-clang-10-default:
|
|
extends: .weekly-clang-ubuntu18.04
|
|
stage: test
|
|
needs: ["weekly-build-clang-10-default"]
|
|
cache:
|
|
key: "ccache-weekly-build-clang-10-default"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
CLANG: 10
|
|
MODE: default
|
|
|
|
weekly-test-clang-10-optimized:
|
|
extends: .weekly-clang-ubuntu18.04
|
|
stage: test
|
|
needs: ["weekly-build-clang-10-optimized"]
|
|
cache:
|
|
key: "ccache-weekly-build-clang-10-optimized"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
CLANG: 10
|
|
MODE: optimized
|
|
|
|
# CLANG 11
|
|
weekly-build-clang-11-debug:
|
|
extends: .weekly-clang-ubuntu22.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 11
|
|
MODE: debug
|
|
|
|
weekly-build-clang-11-default:
|
|
extends: .weekly-clang-ubuntu22.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 11
|
|
MODE: default
|
|
|
|
weekly-build-clang-11-optimized:
|
|
extends: .weekly-clang-ubuntu22.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 11
|
|
MODE: optimized
|
|
|
|
weekly-test-clang-11-default:
|
|
extends: .weekly-clang-ubuntu22.04
|
|
stage: test
|
|
needs: ["weekly-build-clang-11-default"]
|
|
cache:
|
|
key: "ccache-weekly-build-clang-11-default"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
CLANG: 11
|
|
MODE: default
|
|
|
|
weekly-test-clang-11-optimized:
|
|
extends: .weekly-clang-ubuntu22.04
|
|
stage: test
|
|
needs: ["weekly-build-clang-11-optimized"]
|
|
cache:
|
|
key: "ccache-weekly-build-clang-11-optimized"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
CLANG: 11
|
|
MODE: optimized
|
|
|
|
# CLANG 14
|
|
weekly-build-clang-14-debug:
|
|
extends: .weekly-clang-ubuntu22.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 14
|
|
MODE: debug
|
|
|
|
weekly-build-clang-14-default:
|
|
extends: .weekly-clang-ubuntu22.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 14
|
|
MODE: default
|
|
|
|
weekly-build-clang-14-optimized:
|
|
extends: .weekly-clang-ubuntu22.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 14
|
|
MODE: optimized
|
|
|
|
weekly-test-clang-14-default:
|
|
extends: .weekly-clang-ubuntu22.04
|
|
stage: test
|
|
needs: ["weekly-build-clang-14-default"]
|
|
cache:
|
|
key: "ccache-weekly-build-clang-14-default"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
CLANG: 14
|
|
MODE: default
|
|
|
|
weekly-test-clang-14-optimized:
|
|
extends: .weekly-clang-ubuntu22.04
|
|
stage: test
|
|
needs: ["weekly-build-clang-14-optimized"]
|
|
cache:
|
|
key: "ccache-weekly-build-clang-14-optimized"
|
|
paths:
|
|
- $CCACHE_BASEDIR_VALUE/
|
|
variables:
|
|
CLANG: 14
|
|
MODE: optimized
|