155 lines
3.5 KiB
YAML
155 lines
3.5 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 versions 10 through 16
|
|
# We test only CLANG 10 on Ubuntu 20.04 and CLANG 16 on Ubuntu 23.04
|
|
|
|
.weekly-clang-ubuntu20.04:
|
|
image: ubuntu:20.04
|
|
extends: .base-build
|
|
rules:
|
|
- if: $RELEASE == "weekly"
|
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
allow_failure: true
|
|
before_script:
|
|
- apt update
|
|
- apt upgrade -y
|
|
- DEBIAN_FRONTEND=noninteractive 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-ubuntu23.04:
|
|
image: ubuntu:23.04
|
|
extends: .base-build
|
|
rules:
|
|
- if: $RELEASE == "weekly"
|
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
allow_failure: true
|
|
before_script:
|
|
- apt update
|
|
- apt upgrade -y
|
|
- DEBIAN_FRONTEND=noninteractive 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: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
when: manual
|
|
allow_failure: true
|
|
stage: pre-build
|
|
script:
|
|
- echo "Starting clang jobs"
|
|
|
|
# CLANG 10
|
|
weekly-build-clang-10-debug:
|
|
extends: .weekly-clang-ubuntu20.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 10
|
|
MODE: debug
|
|
|
|
weekly-build-clang-10-default:
|
|
extends: .weekly-clang-ubuntu20.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 10
|
|
MODE: default
|
|
|
|
weekly-build-clang-10-optimized:
|
|
extends: .weekly-clang-ubuntu20.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 10
|
|
MODE: optimized
|
|
|
|
weekly-test-clang-10-default:
|
|
extends: .weekly-clang-ubuntu20.04
|
|
stage: test
|
|
needs: ["weekly-build-clang-10-default"]
|
|
dependencies:
|
|
- weekly-build-clang-10-default
|
|
variables:
|
|
CLANG: 10
|
|
MODE: default
|
|
|
|
weekly-test-clang-10-optimized:
|
|
extends: .weekly-clang-ubuntu20.04
|
|
stage: test
|
|
needs: ["weekly-build-clang-10-optimized"]
|
|
dependencies:
|
|
- weekly-build-clang-10-optimized
|
|
variables:
|
|
CLANG: 10
|
|
MODE: optimized
|
|
|
|
# CLANG 16
|
|
weekly-build-clang-16-debug:
|
|
extends: .weekly-clang-ubuntu23.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 16
|
|
MODE: debug
|
|
|
|
weekly-build-clang-16-default:
|
|
extends: .weekly-clang-ubuntu23.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 16
|
|
MODE: default
|
|
|
|
weekly-build-clang-16-optimized:
|
|
extends: .weekly-clang-ubuntu23.04
|
|
needs: ["weekly-clang"]
|
|
stage: build
|
|
variables:
|
|
CLANG: 16
|
|
MODE: optimized
|
|
|
|
weekly-test-clang-16-default:
|
|
extends: .weekly-clang-ubuntu23.04
|
|
stage: test
|
|
needs: ["weekly-build-clang-16-default"]
|
|
dependencies:
|
|
- weekly-build-clang-16-default
|
|
variables:
|
|
CLANG: 16
|
|
MODE: default
|
|
|
|
weekly-test-clang-16-optimized:
|
|
extends: .weekly-clang-ubuntu23.04
|
|
stage: test
|
|
needs: ["weekly-build-clang-16-optimized"]
|
|
dependencies:
|
|
- weekly-build-clang-16-optimized
|
|
variables:
|
|
CLANG: 16
|
|
MODE: optimized
|