1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
# NS3 CI script for per-commit jobs
# Defines the per-commit jobs. They are executed for any branch
.base-per-commit-compile:
extends: .base-build
except:
variables:
- $CPPYY == "True"
- $RELEASE == "weekly"
- $RELEASE == "daily"
image: archlinux
before_script:
- pacman-key --init
- pacman -Syu --noconfirm
base-devel gcc clang libc++ cmake ninja ccache
python
boost gsl gtk3 openmpi
openssh git
# Build stage
per-commit-clang-optimized-libc++:
extends: .base-per-commit-compile
stage: build
variables:
MODE: optimized
COMPILER: clang++
CXXFLAGS: -stdlib=libc++
per-commit-gcc-debug:
extends: .base-per-commit-compile
stage: build
variables:
MODE: debug
COMPILER: g++
per-commit-gcc-default:
extends: .base-per-commit-compile
stage: build
variables:
MODE: default
COMPILER: g++
per-commit-gcc-optimized:
extends: .base-per-commit-compile
stage: build
variables:
MODE: optimized
COMPILER: g++
per-commit-disabled-precompiled-headers:
extends: .base-per-commit-compile
stage: build
variables:
MODE: debug
COMPILER: g++
EXTRA_OPTIONS: --disable-precompiled-headers
per-commit-clang-disabled-asserts-logs:
extends: .base-per-commit-compile
stage: build
variables:
MODE: debug
COMPILER: clang++
EXTRA_OPTIONS: --disable-asserts --disable-logs
# Test stage
per-commit-gcc-default-test:
extends: .base-per-commit-compile
stage: test
needs: ["per-commit-gcc-default"]
dependencies:
- per-commit-gcc-default
variables:
MODE: default
COMPILER: g++
per-commit-gcc-optimized-test:
extends: .base-per-commit-compile
stage: test
needs: ["per-commit-gcc-optimized"]
dependencies:
- per-commit-gcc-optimized
variables:
MODE: optimized
COMPILER: g++
per-commit-clang-optimized-libc++-test:
extends: .base-per-commit-compile
stage: test
needs: ["per-commit-clang-optimized-libc++"]
dependencies:
- per-commit-clang-optimized-libc++
variables:
MODE: optimized
COMPILER: clang++
CXXFLAGS: -stdlib=libc++
|