Files
unison/utils/tests/gitlab-ci-test.yml
Mathew Bielejeski 5d13b2b80c build: Create version.cache file with dummy data when git tags are absent
* Change version tag and ClosestTag values to be ns-3.xx
* Fix string values to have the proper format
* Allow check-version to proceed even if git task is not present
* Remove git package requirement from Docker containers
* Create git_ns3_version_info task only when HAVE_NS3_REPO is defined
* Change tag glob from ns-3* to ns-3.[0-9]*
* Use version tag to make output consistent with waf --check-version
2020-08-18 15:39:34 -07:00

130 lines
3.3 KiB
YAML

# NS3 CI script for testing
# Defines the steps to run the tests
# Inherit with "extends: .base-test" and remember to set
# the following variables: COMPILER (g++, clang++, ...) and
# MODE (debug, release, optimized)
.base-test:
stage: test
script:
- mkdir -p $CCACHE_BASEDIR_VALUE
- export CCACHE_BASEDIR=${PWD}
- export CCACHE_DIR=${PWD}/$CCACHE_BASEDIR_VALUE
- CXX="ccache $COMPILER" ./waf configure --enable-examples --enable-tests -d $MODE
- ./test.py $VALGRIND $FULLNESS
cache:
paths:
- $CCACHE_BASEDIR_VALUE/
variables:
CCACHE_BASEDIR_VALUE: ns-3-ccache-storage
VALGRIND: ""
FULLNESS: ""
# Run the test.py script with files compiled in debug mode
#daily-test-debug:
# extends: .base-test
# image: archlinux/base
# variables:
# COMPILER: g++
# MODE: debug
# only:
# variables:
# - $RELEASE == "daily"
# before_script:
# - pacman -Syu --noconfirm
# - pacman -Sy base-devel python ccache gsl libgcrypt gtk3 boost valgrind --noconfirm
# Run the test.py script with files compiled in release mode
#daily-test-release:
# extends: .base-test
# image: archlinux/base
# variables:
# COMPILER: g++
# MODE: release
# only:
# variables:
# - $RELEASE == "daily"
# before_script:
# - pacman -Syu --noconfirm
# - pacman -Sy base-devel python ccache gsl libgcrypt gtk3 boost valgrind --noconfirm
# Run the test.py script with files compiled in optimized mode
daily-test-optimized:
extends: .base-test
image: archlinux/base
variables:
COMPILER: g++
MODE: optimized
only:
variables:
- $RELEASE == "daily"
before_script:
- pacman -Syu --noconfirm
- pacman -Sy base-devel python ccache gsl libgcrypt gtk3 boost valgrind --noconfirm
### Valgrind tests
# Run the test.py script with files compiled in debug mode
#weekly-test-debug:
# extends: .base-test
# image: archlinux/base
# variables:
# COMPILER: g++
# MODE: debug
# VALGRIND: -g
# only:
# variables:
# - $RELEASE == "weekly"
# tags:
# - nsnam
# before_script:
# - pacman -Syu --noconfirm
# - pacman -Sy base-devel python ccache gsl libgcrypt gtk3 boost valgrind --noconfirm
# Run the test.py script with files compiled in release mode
#weekly-test-release:
# extends: .base-test
# image: archlinux/base
# variables:
# COMPILER: g++
# MODE: release
# VALGRIND: -g
# only:
# variables:
# - $RELEASE == "weekly"
# tags:
# - nsnam
# before_script:
# - pacman -Syu --noconfirm
# - pacman -Sy base-devel python ccache gsl libgcrypt gtk3 boost valgrind --noconfirm
# Run the test.py script with files compiled in optimized mode
weekly-test-optimized:
extends: .base-test
image: archlinux/base
variables:
COMPILER: g++
MODE: optimized
VALGRIND: -g
only:
variables:
- $RELEASE == "weekly"
before_script:
- pacman -Syu --noconfirm
- pacman -Sy base-devel python ccache gsl libgcrypt gtk3 boost valgrind --noconfirm
# Do a check for the TAKES_FOREVER jobs, only in optimized mode
weekly-test-takes-forever-optimized:
extends: .base-test
image: archlinux/base
variables:
COMPILER: g++
MODE: optimized
FULLNESS: "-f TAKES_FOREVER"
only:
variables:
- $RELEASE == "weekly"
before_script:
- pacman -Syu --noconfirm
- pacman -Sy base-devel python ccache gsl libgcrypt gtk3 boost valgrind --noconfirm