mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-08-29 04:22:48 +00:00
993 lines
52 KiB
YAML
993 lines
52 KiB
YAML
# This script sets up a Continuous Reproducibility system for GNSS-SDR at GitLab
|
|
#
|
|
# Useful links:
|
|
# Website: https://gnss-sdr.org
|
|
# Upstream repository: https://github.com/gnss-sdr/gnss-sdr.git
|
|
# Dockerfile at https://github.com/carlesfernandez/docker-gnsssdr
|
|
# Docker cloud image: carlesfernandez/docker-gnsssdr
|
|
#
|
|
# In order to use this system and be able to make changes, you will need:
|
|
# - A GitHub account https://github.com
|
|
# - A GitLab account https://gitlab.com
|
|
# - A Docker Hub account https://hub.docker.com
|
|
# - A repository at Docker Hub.
|
|
#
|
|
# In order to use this system, please fork at GitHub the upstream
|
|
# repository; import that forked repo at GitLab; then add, commit and push to
|
|
# your GitLab repo this .gitlab-ci.yml file; and finally go to your project page
|
|
# at GitLab and set up the following secret variables. In the left panel:
|
|
# Settings > CI / CD > Secret variables
|
|
#
|
|
# DOCKER_HUB_USER
|
|
# DOCKER_HUB_REPO
|
|
# DOCKER_HUB_PASSWORD
|
|
#
|
|
# You will need either to protect your branch, or to leave those variables
|
|
# unproctected.
|
|
#
|
|
# For instance, my settings are:
|
|
# DOCKER_HUB_USER = carlesfernandez
|
|
# DOCKER_HUB_REPO = docker-gnsssdr
|
|
# DOCKER_HUB_PASSWORD = ********************
|
|
#
|
|
# If you want to make changes in the source code, branch-off from the 'next'
|
|
# branch of your forked repository and, if needed, add new jobs in this
|
|
# file at the 'deploy' and 'experiment' stages. Please do not use the next
|
|
# branch for your changes, always open a new branch from next and work there.
|
|
#
|
|
# Feel free to delete the docker-gnsssdr and docker-pybombs-gnsssdr jobs,
|
|
# they are for developers' team only. Actually, this is their CI/CD system.
|
|
#
|
|
# More info about how to contribute to GNSS-SDR at
|
|
# https://github.com/gnss-sdr/gnss-sdr/blob/master/CONTRIBUTING.md
|
|
#
|
|
# (C) Carles Fernandez-Prades, 2018 cfernandez@cttc.cat
|
|
|
|
|
|
# This is performed before the scripts in the stages step
|
|
before_script:
|
|
- source /etc/profile
|
|
|
|
|
|
# Defines stages which are to be executed
|
|
stages:
|
|
- build
|
|
- test
|
|
- deploy
|
|
- experiment
|
|
|
|
|
|
# Stage "build"
|
|
archlinux:
|
|
image: archlinux/base:latest
|
|
stage: build
|
|
before_script:
|
|
- pwd
|
|
script:
|
|
- pacman -Syu --noconfirm
|
|
- pacman -S --noconfirm gcc make cmake pkgconf git boost boost-libs log4cpp libvolk gnuradio libpcap blas lapack gflags google-glog openssl python-mako python-six pugixml libmatio gtest protobuf
|
|
- cd build
|
|
- cmake -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
centos7:
|
|
image: centos:centos7
|
|
stage: build
|
|
before_script:
|
|
- pwd
|
|
script:
|
|
- yum install -y wget
|
|
- wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
|
- rpm -Uvh epel-release-latest-7.noarch.rpm
|
|
- yum install -y make automake gcc gcc-c++ kernel-devel libtool curl hdf5-devel cmake git boost-devel boost-date-time boost-system boost-filesystem boost-thread boost-chrono boost-serialization log4cpp-devel gnuradio-devel gr-osmosdr-devel pugixml-devel libpcap-devel blas-devel lapack-devel armadillo-devel openssl-devel python-mako python-six
|
|
- cd build
|
|
- cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
crosscompile:
|
|
image: ubuntu:xenial
|
|
stage: build
|
|
tags:
|
|
- kepler
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y build-essential xz-utils python3 curl git automake libtool g++
|
|
- curl -k https://sites.cttc.es/gnss_files/SDK/Thud/oecore-x86_64-armv7ahf-neon-toolchain-nodistro.0.sh --output oecore-x86_64-armv7ahf-neon-toolchain-nodistro.0.sh
|
|
- echo "9bf042cc7481cb0fee9511a2c63751b2 oecore-x86_64-armv7ahf-neon-toolchain-nodistro.0.sh" > sdk.md5
|
|
- md5sum -c sdk.md5
|
|
- chmod +x ./oecore-x86_64-armv7ahf-neon-toolchain-nodistro.0.sh
|
|
- sh ./oecore-x86_64-armv7ahf-neon-toolchain-nodistro.0.sh -y
|
|
- . /usr/local/oecore-x86_64/environment-setup-armv7ahf-neon-oe-linux-gnueabi
|
|
- cd build
|
|
- cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchains/oe-sdk_cross.cmake -DENABLE_OSMOSDR=ON -DENABLE_UNIT_TESTING_EXTRA=ON -DENABLE_SYSTEM_TESTING_EXTRA=ON -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_FMCOMMS2=ON -DENABLE_AD9361=ON -DENABLE_RAW_UDP=ON -DENABLE_INSTALL_TESTS=ON -DCMAKE_C_FLAGS_RELEASE="-s" -DCMAKE_CXX_FLAGS_RELEASE="-s" -DENABLE_PACKAGING=ON ..
|
|
- make -j
|
|
- mkdir local_install
|
|
- make install DESTDIR=./local_install
|
|
- rm ./local_install/usr/bin/front-end-cal
|
|
- rm ./local_install/usr/bin/ttff
|
|
- cd ..
|
|
- mkdir binaries
|
|
- mkdir binaries/bin
|
|
- mkdir binaries/share
|
|
- cp build/local_install/usr/bin/* binaries/bin/
|
|
- cp build/local_install/usr/share/gnss-sim/* binaries/share/
|
|
allow_failure: true
|
|
artifacts:
|
|
paths:
|
|
- binaries/*
|
|
|
|
|
|
c++20:
|
|
image: opensuse/tumbleweed
|
|
stage: build
|
|
tags:
|
|
- kepler
|
|
before_script:
|
|
- pwd
|
|
script:
|
|
- zypper -n dup
|
|
- zypper -n install cmake git gcc-c++ gcc-fortran ninja boost-devel libboost_atomic-devel libboost_filesystem-devel libboost_system-devel libboost_date_time-devel libboost_thread-devel libboost_regex-devel libboost_serialization-devel libboost_program_options-devel libboost_math-devel libboost_numpy-devel libboost_chrono-devel libboost_python3-devel libboost_test-devel libboost_headers-devel libboost_test-devel libboost_random-devel libboost_numpy3-devel libboost_graph-devel python3-PyYAML python3 python3-qt5 python3-lxml log4cpp-devel libpcap-devel libtool automake hdf5-devel libopenssl-devel python3-Mako python3-six protobuf-devel gmp-devel python3-gmpy fftw3-devel python3-pyFFTW llvm-clang blas-devel lapack-devel bison flex libxml2-devel
|
|
- mkdir libiio && cd libiio && git clone https://github.com/analogdevicesinc/libiio.git
|
|
- cd libiio && mkdir build && cd build && cmake .. && make && make install && ldconfig && cd ../../../
|
|
- mkdir ad9361 && cd ad9361 && git clone https://github.com/analogdevicesinc/libad9361-iio.git
|
|
- cd libad9361-iio && mkdir build&& cd build && cmake .. && make && make install && ldconfig && cd ../../../
|
|
- mkdir gnuradio && cd gnuradio
|
|
- git clone --recursive https://github.com/gnuradio/gnuradio
|
|
- cd gnuradio && mkdir build && cd build
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- cmake -DENABLE_DEFAULT=OFF -DENABLE_GNURADIO_RUNTIME=ON -DENABLE_VOLK=ON -DENABLE_GR_BLOCKS=ON -DENABLE_GR_ANALOG=ON -DENABLE_GR_FFT=ON -DENABLE_GR_FILTER=ON -DENABLE_GR_IIO=ON ..
|
|
- make -j$(($NPROC+1))
|
|
- make install
|
|
- cd ../../../build
|
|
- cmake -DENABLE_RAW_UDP=ON -DENABLE_AD9361=ON ..
|
|
- make -j$(($NPROC+1)) VERBOSE=1
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
- make uninstall
|
|
- rm -rf *
|
|
- rm -rf ../thirdparty
|
|
- cmake -GNinja -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ ..
|
|
- ninja
|
|
- ninja check
|
|
- ninja install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
when: manual
|
|
allow_failure: true
|
|
|
|
|
|
debian8:
|
|
image: debian:jessie-slim
|
|
stage: build
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y --no-install-recommends build-essential pkg-config libtool automake make curl libhdf5-dev cmake git ca-certificates libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr libpugixml-dev libpcap-dev libblas-dev liblapack-dev libgfortran-4.9-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libgtest-dev
|
|
- cd build
|
|
- cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
debian9:
|
|
image: debian:stretch-slim
|
|
stage: build
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y --no-install-recommends build-essential pkg-config cmake git libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr libpugixml-dev libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest libprotobuf-dev protobuf-compiler
|
|
- cd build
|
|
- cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
|
|
|
|
debian10:
|
|
image: debian:buster-slim
|
|
stage: build
|
|
script:
|
|
- apt-get update
|
|
- apt-get upgrade -y
|
|
- apt-get install -y --no-install-recommends build-essential pkg-config cmake git libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr libiio-dev libad9361-dev gr-iio libpugixml-dev libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev libgtest-dev libprotobuf-dev protobuf-compiler
|
|
- cd build
|
|
- cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON -DENABLE_FMCOMMS2=ON -DENABLE_AD9361=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
allow_failure: true
|
|
|
|
|
|
debian11:
|
|
image: debian:bullseye-slim
|
|
stage: build
|
|
script:
|
|
- apt-get update
|
|
- apt-get upgrade -y
|
|
- apt-get install -y --no-install-recommends build-essential pkg-config cmake git libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr libiio-dev libad9361-dev gr-iio libpugixml-dev libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev libgtest-dev libprotobuf-dev protobuf-compiler
|
|
- cd build
|
|
- cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON -DENABLE_FMCOMMS2=ON -DENABLE_AD9361=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
allow_failure: true
|
|
|
|
|
|
fedora26:
|
|
image: fedora:26
|
|
stage: build
|
|
before_script:
|
|
- source ~/.bash_profile
|
|
script:
|
|
- yum install -y make automake libtool curl gcc gcc-c++ kernel-devel cmake git boost-devel boost-date-time boost-system boost-filesystem boost-thread boost-chrono boost-serialization log4cpp-devel gnuradio-devel gr-osmosdr-devel pugixml-devel libpcap-devel blas-devel lapack-devel armadillo-devel gflags-devel glog-devel openssl-devel python-mako python-six matio-devel
|
|
- cd build
|
|
- cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
fedora28:
|
|
image: fedora:28
|
|
stage: build
|
|
before_script:
|
|
- source ~/.bash_profile
|
|
script:
|
|
- yum install -y make automake gcc gcc-c++ kernel-devel cmake git boost-devel boost-date-time boost-system boost-filesystem boost-thread boost-chrono boost-serialization log4cpp-devel gnuradio-devel gr-osmosdr-devel pugixml-devel libpcap-devel blas-devel lapack-devel armadillo-devel gflags-devel glog-devel openssl-devel python-mako python-six matio-devel protobuf-devel protobuf-compiler
|
|
- cd build
|
|
- cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
|
|
|
|
fedora29:
|
|
image: fedora:29
|
|
stage: build
|
|
before_script:
|
|
- source ~/.bash_profile
|
|
script:
|
|
- yum install -y make gcc gcc-c++ kernel-devel cmake git boost-devel boost-date-time boost-system boost-filesystem boost-thread boost-chrono boost-serialization log4cpp-devel gnuradio-devel pugixml-devel libpcap-devel blas-devel lapack-devel armadillo-devel gflags-devel glog-devel openssl-devel python3-mako python3-six matio-devel protobuf-devel protobuf-compiler
|
|
- cd build
|
|
- cmake -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
fedora-rawhide:
|
|
image: fedora:rawhide
|
|
stage: build
|
|
before_script:
|
|
- source ~/.bash_profile
|
|
script:
|
|
- dnf upgrade -y --nogpgcheck
|
|
- yum install -y automake gcc gcc-c++ kernel-devel make cmake git boost-devel boost-date-time boost-system boost-filesystem boost-thread boost-chrono boost-serialization log4cpp-devel gnuradio-devel pugixml-devel libpcap-devel blas-devel lapack-devel armadillo-devel gflags-devel glog-devel openssl-devel python-mako python-six matio-devel protobuf-devel protobuf-compiler gmp-devel
|
|
- cd build
|
|
- cmake -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
opensuse42.3:
|
|
image: opensuse/leap:42.3
|
|
stage: build
|
|
before_script:
|
|
- pwd
|
|
script:
|
|
- zypper -n up
|
|
- zypper -n install cmake git gcc-c++ boost-devel log4cpp-devel gnuradio-devel pugixml-devel libpcap-devel armadillo-devel libtool automake hdf5-devel openssl-devel python-Mako python-six
|
|
- cd build
|
|
- cmake -DENABLE_PACKAGING=ON -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
opensuse-leap15.0:
|
|
image: opensuse/leap:15.0
|
|
stage: build
|
|
before_script:
|
|
- pwd
|
|
script:
|
|
- zypper -n up
|
|
- zypper -n install cmake git gcc-c++ boost-devel libboost_atomic-devel libboost_chrono-devel libboost_thread-devel libboost_system-devel libboost_filesystem-devel libboost_serialization-devel log4cpp-devel gnuradio-devel pugixml-devel libpcap-devel armadillo-devel libtool automake hdf5-devel openssl-devel python-Mako python-six protobuf-devel
|
|
- cd build
|
|
- cmake -DENABLE_PACKAGING=ON -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
opensuse-tumbleweed:
|
|
image: opensuse/tumbleweed
|
|
stage: build
|
|
before_script:
|
|
- pwd
|
|
script:
|
|
- zypper -n dup
|
|
- zypper -n install cmake git gcc-c++ boost-devel libboost_atomic-devel libboost_system-devel libboost_filesystem-devel libboost_date_time-devel libboost_thread-devel libboost_chrono-devel libboost_serialization-devel log4cpp-devel gtest gnuradio-devel pugixml-devel libpcap-devel armadillo-devel libtool automake hdf5-devel libopenssl-devel python3-Mako python3-six protobuf-devel
|
|
- cd build
|
|
- cmake -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
ubuntu14.04:
|
|
image: ubuntu:trusty
|
|
stage: build
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y apt-file
|
|
- apt-file update
|
|
- apt-get install -y software-properties-common
|
|
- add-apt-repository -y ppa:myriadrf/gnuradio
|
|
- add-apt-repository -y ppa:myriadrf/drivers
|
|
- apt-get update
|
|
- apt-get install -y --no-install-recommends build-essential libtool automake curl libhdf5-dev cmake git libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev libpugixml-dev libpcap-dev libblas-dev liblapack-dev libgfortran-4.7-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libgtest-dev
|
|
- cd build
|
|
- cmake -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
ubuntu16.04:
|
|
image: ubuntu:xenial
|
|
stage: build
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y --no-install-recommends build-essential libtool automake curl cmake git ca-certificates libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr libpugixml-dev libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev libgtest-dev
|
|
- cd build
|
|
- cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
ubuntu18.04:
|
|
image: ubuntu:bionic
|
|
stage: build
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y --no-install-recommends build-essential cmake git libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr libpugixml-dev libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest libprotobuf-dev protobuf-compiler
|
|
- cd build
|
|
- cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
|
|
|
|
ubuntu18.10:
|
|
image: ubuntu:cosmic
|
|
stage: build
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y --no-install-recommends build-essential cmake git libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr libpugixml-dev libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev libgtest-dev libprotobuf-dev protobuf-compiler
|
|
- cd build
|
|
- cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
ubuntu19.04:
|
|
image: ubuntu:disco
|
|
stage: build
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y --no-install-recommends build-essential cmake git libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr libpugixml-dev libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev libgtest-dev libprotobuf-dev protobuf-compiler
|
|
- cd build
|
|
- cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
ubuntu19.10:
|
|
image: ubuntu:eoan
|
|
stage: build
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y --no-install-recommends build-essential cmake git libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr libpugixml-dev libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev libgtest-dev libprotobuf-dev protobuf-compiler
|
|
- cd build
|
|
- cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
- make check
|
|
- make install
|
|
- volk_gnsssdr_profile -i 3 -v 2053
|
|
allow_failure: true
|
|
|
|
|
|
coverity-scan:
|
|
image: ubuntu:bionic
|
|
stage: build
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y wget curl ca-certificates
|
|
- wget -O cov-analysis-linux64-2019.03.tar.gz https://scan.coverity.com/download/cxx/linux64 --post-data "project=$COVERITY_SCAN_USER%2Fgnss-sdr&token=$COVERITY_SCAN_TOKEN" --no-check-certificate
|
|
- tar xvzf cov-analysis-linux64-2019.03.tar.gz
|
|
- export PATH=$PATH:$(pwd)/cov-analysis-linux64-2019.03/bin
|
|
- apt-get install -y --no-install-recommends build-essential cmake git libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr libpugixml-dev libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest libprotobuf-dev protobuf-compiler
|
|
- cd build
|
|
- cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON ..
|
|
- cov-build --dir cov-int make -j2
|
|
- tar cvzf gnss-sdr.tgz cov-int
|
|
- curl -k --form token=$COVERITY_SCAN_TOKEN --form email=$COVERITY_SCAN_EMAIL --form file=@$(pwd)/gnss-sdr.tgz --form version="0.0.11-next" --form description=" " https://scan.coverity.com/builds?project=$COVERITY_SCAN_USER%2Fgnss-sdr --progress-bar | tee -a "log_upload.txt" ; test ${PIPESTATUS[0]} -eq 0
|
|
when: manual
|
|
allow_failure: true
|
|
|
|
|
|
docker-for-test:
|
|
image: docker:latest
|
|
stage: build
|
|
services:
|
|
- docker:dind
|
|
script:
|
|
- mkdir docker-build
|
|
- cd docker-build
|
|
- echo -e "FROM phusion/baseimage:0.11\nMAINTAINER carles.fernandez@cttc.es\nCMD [\"/sbin/my_init\"]\nWORKDIR /home/src\nRUN apt-get update && apt-get install -y --no-install-recommends build-essential cmake curl nano libarmadillo-dev libblas-dev libboost-chrono-dev libboost-dev libboost-date-time-dev libboost-filesystem-dev libboost-serialization-dev libboost-system-dev libboost-thread-dev libpugixml-dev libgflags-dev libgoogle-glog-dev googletest libgnutls-openssl-dev liblapack-dev liblog4cpp5-dev libmatio-dev git ca-certificates gnuradio-dev python-mako python-six libprotobuf-dev protobuf-compiler texlive-latex-base texlive-fonts-recommended texlive-font-utils texlive-pictures epstool fig2dev octave pstoedit gnuplot-x11 && rm -rf /var/lib/apt/lists/*\nRUN git clone https://gitlab.com/gnss-sdr/gnss-sdr && cd gnss-sdr/build && git checkout $CI_COMMIT_SHA && cmake -DENABLE_SYSTEM_TESTING_EXTRA=ON -DENABLE_INSTALL_TESTS=ON .. && NPROC=$(grep -c ^processor /proc/cpuinfo) && make -j$(($NPROC+1)) && make install && rm -rf /home/src\nWORKDIR /home\nRUN rm -rf /tmp/* /var/tmp/*\nCMD [\"bash\"]" > Dockerfile
|
|
- docker login -u "$DOCKER_HUB_USER" -p "$DOCKER_HUB_PASSWORD"
|
|
- docker build -t $DOCKER_HUB_USER/$DOCKER_HUB_REPO .
|
|
- docker tag $DOCKER_HUB_USER/$DOCKER_HUB_REPO:latest $DOCKER_HUB_USER/$DOCKER_HUB_REPO:testing-$CI_COMMIT_REF_NAME
|
|
- docker push $DOCKER_HUB_USER/$DOCKER_HUB_REPO:testing-$CI_COMMIT_REF_NAME
|
|
|
|
|
|
# Stage "test"
|
|
run-tests-x86_64:
|
|
image: debian:stretch-slim
|
|
stage: test
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y --no-install-recommends build-essential cmake ca-certificates git libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev libpugixml-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest libprotobuf-dev protobuf-compiler
|
|
- mkdir build-test
|
|
- mkdir build64
|
|
- cd build-test
|
|
- cmake -DENABLE_SYSTEM_TESTING_EXTRA=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
# Execute Unit Tests
|
|
- ../install/run_tests --gtest_output=xml
|
|
- mv *.xml ../build64/
|
|
# Execute System Tests
|
|
- ../install/position_test
|
|
- mv position_test*.txt ../build64/
|
|
- cd ..
|
|
- rm -rf build-test
|
|
artifacts:
|
|
paths:
|
|
- build64/*.xml
|
|
- build64/*.txt
|
|
|
|
|
|
run-tests-i386:
|
|
image: i386/debian:stretch-slim
|
|
stage: test
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y --no-install-recommends build-essential cmake ca-certificates git libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev libpugixml-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest libprotobuf-dev protobuf-compiler
|
|
- mkdir build-test
|
|
- mkdir build32
|
|
- cd build-test
|
|
- cmake -DENABLE_PACKAGING=ON -DENABLE_SYSTEM_TESTING_EXTRA=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
# Execute Unit Tests
|
|
- ../install/run_tests --gtest_output=xml
|
|
- mv *.xml ../build32/
|
|
# Execute System Tests
|
|
- ../install/position_test
|
|
- mv position_test*.txt ../build32/
|
|
- cd ..
|
|
- rm -rf build-test
|
|
artifacts:
|
|
paths:
|
|
- build32/*.xml
|
|
- build32/*.txt
|
|
|
|
|
|
observables-test-180417100529:
|
|
image: ubuntu:bionic
|
|
stage: test
|
|
tags:
|
|
- kepler
|
|
when: manual
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y --no-install-recommends build-essential cmake ca-certificates git libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev libpugixml-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest gnuplot libprotobuf-dev protobuf-compiler
|
|
- mkdir build-test
|
|
- mkdir build64
|
|
- cd build-test
|
|
- cmake -DENABLE_UNIT_TESTING_EXTRA=ON -DENABLE_SYSTEM_TESTING_EXTRA=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
# Execute Unit Tests
|
|
- export DISPLAY=unknown
|
|
- echo "Running HybridObservablesTest for GPS L1 CA..."
|
|
- ../install/run_tests --gtest_filter=HybridObservablesTest* -PLL_bw_hz_start=25.0 --DLL_bw_hz_start=1.5 --PLL_narrow_bw_hz=10.0 --DLL_narrow_bw_hz=0.75 --disable_generator=1 --enable_external_signal_file=1 --signal_file=/captures/gitlab_test_signals/static/180417100529.A_L1E1_12500000Hz_ichar.dat --fs_gen_sps=12500000 --skip_samples=125000000 --external_signal_acquisition_threshold=4.0 --extend_correlation_symbols=5 --external_signal_acquisition_doppler_step_hz=10 --trk_test_implementation=GPS_L1_CA_DLL_PLL_Tracking --show_plots=0 --filename_rinex_obs=/captures/gitlab_test_signals/static/true_data_180417100529/rinex_obs/rinex-obs_V1_A1-static_vehicle.txt --skip_trk_transitory_s=30 --gtest_output=xml:test_results.xml
|
|
- echo "Running HybridObservablesTest for Galileo E1..."
|
|
- ../install/run_tests --gtest_filter=HybridObservablesTest* --PLL_bw_hz_start=5.0 --DLL_bw_hz_start=0.75 --disable_generator=1 --enable_external_signal_file=1 --show_plots=true --fs_gen_sps=12500000 --skip_samples=50000000 --external_signal_acquisition_threshold=2.5 --trk_test_implementation=Galileo_E1_DLL_PLL_VEML_Tracking --external_signal_acquisition_doppler_step_hz=25 --show_plots=0 --signal_file=/captures/gitlab_test_signals/static/180417100529.A_L1E1_12500000Hz_ichar.dat --filename_rinex_obs=/captures/gitlab_test_signals/static/true_data_180417100529/rinex_obs/rinex-obs_V1_A1-static_vehicle.txt --skip_trk_transitory_s=15 --gtest_output=xml:test_results.xml
|
|
- echo "Running HybridObservablesTest for GPS L5..."
|
|
- ../install/run_tests --gtest_filter=HybridObservablesTest* --PLL_bw_hz_start=25.0 --DLL_bw_hz_start=2.5 --disable_generator=1 --enable_external_signal_file=1 --show_plots=true --fs_gen_sps=12500000 --skip_samples=250000000 --external_signal_acquisition_threshold=2.4 --trk_test_implementation=GPS_L5_DLL_PLL_Tracking --external_signal_acquisition_dwells=10 --external_signal_acquisition_doppler_step_hz=10 --show_plots=0 --signal_file=/captures/gitlab_test_signals/static/180417100529.A_L5E5_12500000Hz_ichar.dat --filename_rinex_obs=/captures/gitlab_test_signals/static/true_data_180417100529/rinex_obs/rinex-obs_V1_A1-static_vehicle.txt --skip_trk_transitory_s=5 --gtest_output=xml:test_results.xml
|
|
- echo "Running HybridObservablesTest for Galileo E5a..."
|
|
- ../install/run_tests --gtest_filter=HybridObservablesTest* --PLL_bw_hz_start=30.0 --DLL_bw_hz_start=1.0 --disable_generator=1 --enable_external_signal_file=1 --show_plots=true --fs_gen_sps=12500000 --skip_samples=125000000 --external_signal_acquisition_threshold=2.2 --trk_test_implementation=Galileo_E5a_DLL_PLL_Tracking --external_signal_acquisition_doppler_step_hz=10 --show_plots=0 --signal_file=/captures/gitlab_test_signals/static/180417100529.A_L5E5_12500000Hz_ichar.dat --filename_rinex_obs=/captures/gitlab_test_signals/static/true_data_180417100529/rinex_obs/rinex-obs_V1_A1-static_vehicle.txt --skip_trk_transitory_s=5 --gtest_output=xml:test_results.xml
|
|
- mv *.xml ../build64/
|
|
- cd ..
|
|
- rm -rf build-test
|
|
artifacts:
|
|
paths:
|
|
- build64/*.xml
|
|
|
|
|
|
leo-observables-test-180417120737:
|
|
image: ubuntu:bionic
|
|
stage: test
|
|
tags:
|
|
- kepler
|
|
when: manual
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y --no-install-recommends build-essential cmake ca-certificates git libboost-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-serialization-dev liblog4cpp5-dev gnuradio-dev libpugixml-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest gnuplot libprotobuf-dev protobuf-compiler
|
|
- mkdir build-test
|
|
- mkdir build64
|
|
- cd build-test
|
|
- cmake -DENABLE_UNIT_TESTING_EXTRA=ON -DENABLE_SYSTEM_TESTING_EXTRA=ON ..
|
|
- NPROC=$(grep -c ^processor /proc/cpuinfo)
|
|
- make -j$(($NPROC+1))
|
|
# Execute Unit Tests
|
|
- export DISPLAY=unknown
|
|
- echo "Running HybridObservablesTest for GPS L1 CA..."
|
|
- ../install/run_tests --gtest_filter=HybridObservablesTest* -PLL_bw_hz_start=30.0 --DLL_bw_hz_start=1.0 --disable_generator=1 --enable_external_signal_file=1 --show_plots=false --fs_gen_sps=12500000 --skip_samples=125000000 --external_signal_acquisition_threshold=2.5 --trk_test_implementation=GPS_L1_CA_DLL_PLL_Tracking --external_signal_acquisition_dwells=5 --external_signal_acquisition_doppler_step_hz=50 --show_plots=0 --signal_file=/captures/gitlab_test_signals/dynamic/180417120737.A_L1E1_12500000Hz_ichar.dat --filename_rinex_obs=/captures/gitlab_test_signals/dynamic/leo_pvt_test/2018_04_17_12_44_39/rinex_obs/rinex-obs_V1_A1-spacecraft.txt skip_trk_transitory_s=20 --external_signal_acquisition_doppler_max_hz=50000 --gtest_output=xml:test_results.xml
|
|
- echo "Running HybridObservablesTest for Galileo E1..."
|
|
- ../install/run_tests --gtest_filter=HybridObservablesTest* -PLL_bw_hz_start=15 --DLL_bw_hz_start=0.5 --disable_generator=1 --enable_external_signal_file=1 --show_plots=false --fs_gen_sps=12500000 --skip_samples=125000000 --external_signal_acquisition_threshold=2.5 --trk_test_implementation=Galileo_E1_DLL_PLL_VEML_Tracking --external_signal_acquisition_dwells=1 --external_signal_acquisition_doppler_step_hz=50 --show_plots=0 --signal_file=/captures/gitlab_test_signals/dynamic/180417120737.A_L1E1_12500000Hz_ichar.dat --filename_rinex_obs=/captures/gitlab_test_signals/dynamic/leo_pvt_test/2018_04_17_12_44_39/rinex_obs/rinex-obs_V1_A1-spacecraft.txt skip_trk_transitory_s=5 --external_signal_acquisition_doppler_max_hz=50000 --gtest_output=xml:test_results.xml
|
|
- echo "Running HybridObservablesTest for GPS L5..."
|
|
- ../install/run_tests --gtest_filter=HybridObservablesTest* -PLL_bw_hz_start=15 --DLL_bw_hz_start=0.5 --disable_generator=1 --enable_external_signal_file=1 --show_plots=false --fs_gen_sps=12500000 --skip_samples=125000000 --external_signal_acquisition_threshold=2.5 --trk_test_implementation=GPS_L5_DLL_PLL_Tracking --external_signal_acquisition_dwells=1 --external_signal_acquisition_doppler_step_hz=50 --show_plots=0 --signal_file=/captures/gitlab_test_signals/dynamic/180417120737.A_L5E5_12500000Hz_ichar.dat --filename_rinex_obs=/captures/gitlab_test_signals/dynamic/leo_pvt_test/2018_04_17_12_44_39/rinex_obs/rinex-obs_V1_A1-spacecraft.txt skip_trk_transitory_s=5 --external_signal_acquisition_doppler_max_hz=50000 --gtest_output=xml:test_results.xml
|
|
- echo "Running HybridObservablesTest for Galileo E5a..."
|
|
- ../install/run_tests --gtest_filter=HybridObservablesTest* -PLL_bw_hz_start=15 --DLL_bw_hz_start=0.5 --disable_generator=1 --enable_external_signal_file=1 --show_plots=false --fs_gen_sps=12500000 --skip_samples=125000000 --external_signal_acquisition_threshold=2.5 --trk_test_implementation=Galileo_E5a_DLL_PLL_Tracking --external_signal_acquisition_dwells=1 --external_signal_acquisition_doppler_step_hz=50 --show_plots=0 --signal_file=/captures/gitlab_test_signals/dynamic/180417120737.A_L5E5_12500000Hz_ichar.dat --filename_rinex_obs=/captures/gitlab_test_signals/dynamic/leo_pvt_test/2018_04_17_12_44_39/rinex_obs/rinex-obs_V1_A1-spacecraft.txt skip_trk_transitory_s=5 --external_signal_acquisition_doppler_max_hz=50000 --gtest_output=xml:test_results.xml
|
|
- mv *.xml ../build64/
|
|
- cd ..
|
|
- rm -rf build-test
|
|
artifacts:
|
|
paths:
|
|
- build64/*.xml
|
|
|
|
|
|
position-L1-static:
|
|
image: $DOCKER_HUB_USER/$DOCKER_HUB_REPO:testing-$CI_COMMIT_REF_NAME
|
|
stage: test
|
|
when: manual
|
|
tags:
|
|
- kepler
|
|
script:
|
|
- export DISPLAY=unknown
|
|
- volk_profile -v 8111
|
|
- volk_gnsssdr_profile -v 2053
|
|
- mkdir test && mkdir position-test && cd test
|
|
- cp /captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_L1.conf ./gnss-sdr_180417100529.A_L1.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417100529.A_L1.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/static/true_data_180417100529/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --plot_position_test --show_plots=0
|
|
- mkdir ../position-test/L1 && rm PVT_*.* && mv *.* ../position-test/L1
|
|
- cp /captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_E1.conf ./gnss-sdr_180417100529.A_E1.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417100529.A_E1.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/static/true_data_180417100529/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --plot_position_test --show_plots=0
|
|
- mkdir ../position-test/E1 && rm PVT_*.* && mv *.* ../position-test/E1
|
|
- cp /captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_L1E1.conf ./gnss-sdr_180417100529.A_L1E1.conf
|
|
- position_test -config_file_ptest=gnss-sdr_180417100529.A_L1E1.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/static/true_data_180417100529/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --plot_position_test --show_plots=0
|
|
- mkdir ../position-test/L1E1 && rm PVT_*.* && mv *.* ../position-test/L1E1
|
|
- ls -la ../position-test/L1
|
|
- ls -la ../position-test/E1
|
|
- ls -la ../position-test/L1E1
|
|
artifacts:
|
|
paths:
|
|
- position-test/*
|
|
- position-test/L1/*
|
|
- position-test/E1/*
|
|
- position-test/L1E1/*
|
|
allow_failure: true
|
|
|
|
|
|
|
|
position-BDS-B1I:
|
|
image: $DOCKER_HUB_USER/$DOCKER_HUB_REPO:testing-$CI_COMMIT_REF_NAME
|
|
stage: test
|
|
when: manual
|
|
tags:
|
|
- kepler
|
|
script:
|
|
- export DISPLAY=unknown
|
|
- volk_profile -v 8111
|
|
- volk_gnsssdr_profile -v 2053
|
|
- mkdir test && mkdir position-test && cd test
|
|
- cp /captures/gitlab_test_signals/static/beidou/B1I/BDS_B1I.conf ./BDS_B1I.conf
|
|
- position_test --config_file_ptest=BDS_B1I.conf --static_position="31.025035,121.439447,36.31" --static_scenario=1 --pvt_solver_dump_filename=./PVT.dat --plot_position_test --show_plots=0 --static_2D_error_m=10 --static_3D_error_m=10 --accuracy_CEP=10 --precision_SEP=100
|
|
- mkdir ../position-test/B1 && mv *.* ../position-test/B1
|
|
- ls -la ../position-test/B1
|
|
artifacts:
|
|
paths:
|
|
- position-test/*
|
|
- position-test/B1/*
|
|
allow_failure: true
|
|
|
|
|
|
position-BDS-B3I:
|
|
image: $DOCKER_HUB_USER/$DOCKER_HUB_REPO:testing-$CI_COMMIT_REF_NAME
|
|
stage: test
|
|
when: manual
|
|
tags:
|
|
- kepler
|
|
script:
|
|
- export DISPLAY=unknown
|
|
- volk_profile -v 8111
|
|
- volk_gnsssdr_profile -v 2053
|
|
- mkdir test && mkdir position-test && cd test
|
|
- cp /captures/gitlab_test_signals/static/beidou/B3I/BDS_B3I.conf ./BDS_B3I.conf
|
|
- position_test --config_file_ptest=BDS_B3I.conf --static_position="31.0250289,121.4394545,37.02" --static_scenario=1 --pvt_solver_dump_filename=./PVT.dat --plot_position_test --show_plots=0 --static_2D_error_m=20 --static_3D_error_m=20 --accuracy_CEP=20
|
|
- mkdir ../position-test/B3 && mv *.* ../position-test/B3
|
|
- ls -la ../position-test/B3
|
|
artifacts:
|
|
paths:
|
|
- position-test/*
|
|
- position-test/B3/*
|
|
allow_failure: true
|
|
|
|
|
|
position-L5-static:
|
|
image: $DOCKER_HUB_USER/$DOCKER_HUB_REPO:testing-$CI_COMMIT_REF_NAME
|
|
stage: test
|
|
when: manual
|
|
tags:
|
|
- kepler
|
|
script:
|
|
- export DISPLAY=unknown
|
|
- volk_profile -v 8111
|
|
- volk_gnsssdr_profile -v 2053
|
|
- mkdir test && mkdir position-test && cd test
|
|
- cp /captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_L5.conf ./gnss-sdr_180417100529.A_L5.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417100529.A_L5.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/static/true_data_180417100529/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --dynamic_3D_velocity_RMSE=6 --plot_position_test --show_plots=0
|
|
- mkdir ../position-test/L5 && rm PVT_*.* && mv *.* ../position-test/L5/
|
|
- cp /captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_E5.conf ./gnss-sdr_180417100529.A_E5.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417100529.A_E5.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/static/true_data_180417100529/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --dynamic_3D_velocity_RMSE=6 --plot_position_test --show_plots=0
|
|
- mkdir ../position-test/E5 && rm PVT_*.* && mv *.* ../position-test/E5
|
|
- cp /captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_L5E5.conf ./gnss-sdr_180417100529.A_L5E5.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417100529.A_L5E5.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/static/true_data_180417100529/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --dynamic_3D_velocity_RMSE=6 --plot_position_test --show_plots=0
|
|
- mkdir ../position-test/L5E5 && rm PVT_*.* && mv *.* ../position-test/L5E5
|
|
- ls -la ../position-test/L5
|
|
- ls -la ../position-test/E5
|
|
- ls -la ../position-test/L5E5
|
|
artifacts:
|
|
paths:
|
|
- position-test/*
|
|
- position-test/L5/*
|
|
- position-test/E5/*
|
|
- position-test/L5E5/*
|
|
allow_failure: true
|
|
|
|
|
|
position-dual-static:
|
|
image: $DOCKER_HUB_USER/$DOCKER_HUB_REPO:testing-$CI_COMMIT_REF_NAME
|
|
stage: test
|
|
when: manual
|
|
tags:
|
|
- kepler
|
|
script:
|
|
- export DISPLAY=unknown
|
|
- volk_profile -v 8111
|
|
- volk_gnsssdr_profile -v 2053
|
|
- mkdir test && mkdir position-test && cd test
|
|
- cp /captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_L1L5.conf ./gnss-sdr_180417100529.A_L1L5.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417100529.A_L1L5.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/static/true_data_180417100529/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --plot_position_test --show_plots=0
|
|
- mkdir ../position-test/L1L5 && rm PVT_*.* && mv *.* ../position-test/L1L5
|
|
- cp /captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_E1E5.conf ./gnss-sdr_180417100529.A_E1E5.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417100529.A_E1E5.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/static/true_data_180417100529/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --plot_position_test --show_plots=0
|
|
- mkdir ../position-test/E1E5 && rm PVT_*.* && mv *.* ../position-test/E1E5
|
|
- ls -la ../position-test/L1L5
|
|
- ls -la ../position-test/E1E5
|
|
artifacts:
|
|
paths:
|
|
- position-test/*
|
|
- position-test/L1L5/*
|
|
- position-test/E1E5/*
|
|
allow_failure: true
|
|
|
|
|
|
position-static-4in1:
|
|
image: $DOCKER_HUB_USER/$DOCKER_HUB_REPO:testing-$CI_COMMIT_REF_NAME
|
|
stage: test
|
|
tags:
|
|
- kepler
|
|
script:
|
|
- volk_profile -v 8111
|
|
- volk_gnsssdr_profile -v 2053
|
|
- mkdir position-test && cd position-test
|
|
- export DISPLAY=unknown
|
|
- cp /captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_L1E1L5E5.conf ./gnss-sdr_180417100529.A_L1E1L5E5.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417100529.A_L1E1L5E5.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/static/true_data_180417100529/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --dynamic_3D_velocity_RMSE=6 --plot_position_test --show_plots=0
|
|
- mkdir L1E1L5E5 && rm PVT_*.* && cp *.* ./L1E1L5E5
|
|
artifacts:
|
|
paths:
|
|
- position-test/L1E1L5E5/*
|
|
allow_failure: true
|
|
|
|
|
|
position-leo:
|
|
image: $DOCKER_HUB_USER/$DOCKER_HUB_REPO:testing-$CI_COMMIT_REF_NAME
|
|
stage: test
|
|
when: manual
|
|
tags:
|
|
- kepler
|
|
script:
|
|
- export DISPLAY=unknown
|
|
- volk_profile -v 8111
|
|
- volk_gnsssdr_profile -v 2053
|
|
- mkdir leo_position && cd leo_position
|
|
- mkdir gpsL1 && cd gpsL1
|
|
- cp /captures/gitlab_test_signals/dynamic/gnss-sdr_180417120737.A_L1.conf ./gnss-sdr_180417120737.A_L1.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417120737.A_L1.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/dynamic/leo_pvt_test/2018_04_17_12_44_39/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --plot_position_test=1 --show_plots=0
|
|
- cd .. && mkdir galE1 && cd galE1
|
|
- cp /captures/gitlab_test_signals/dynamic/gnss-sdr_180417120737.A_E1.conf ./gnss-sdr_180417120737.A_E1.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417120737.A_E1.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/dynamic/leo_pvt_test/2018_04_17_12_44_39/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --plot_position_test=1 --show_plots=0
|
|
- cd .. && mkdir gpsL1galE1 && cd gpsL1galE1
|
|
- cp /captures/gitlab_test_signals/dynamic/gnss-sdr_180417120737.A_L1E1.conf ./gnss-sdr_180417120737.A_L1E1.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417120737.A_L1E1.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/dynamic/leo_pvt_test/2018_04_17_12_44_39/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --plot_position_test=1 --show_plots=0
|
|
- cd .. && mkdir gpsL5 && cd gpsL5
|
|
- cp /captures/gitlab_test_signals/dynamic/gnss-sdr_180417120737.A_L5.conf ./gnss-sdr_180417120737.A_L5.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417120737.A_L5.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/dynamic/leo_pvt_test/2018_04_17_12_44_39/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --plot_position_test=1 --show_plots=0
|
|
- cd .. && mkdir galE5a && cd galE5a
|
|
- cp /captures/gitlab_test_signals/dynamic/gnss-sdr_180417120737.A_E5.conf ./gnss-sdr_180417120737.A_E5.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417120737.A_E5.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/dynamic/leo_pvt_test/2018_04_17_12_44_39/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --plot_position_test --show_plots=0
|
|
- cd .. && mkdir gpsL5galE5a && cd gpsL5galE5a
|
|
- cp /captures/gitlab_test_signals/dynamic/gnss-sdr_180417120737.A_L5E5.conf ./gnss-sdr_180417120737.A_L5E5.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417120737.A_L5E5.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/dynamic/leo_pvt_test/2018_04_17_12_44_39/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --plot_position_test --show_plots=0
|
|
artifacts:
|
|
paths:
|
|
- leo_position/*
|
|
allow_failure: true
|
|
|
|
|
|
position-GLO-L1:
|
|
image: $DOCKER_HUB_USER/$DOCKER_HUB_REPO:testing-$CI_COMMIT_REF_NAME
|
|
stage: test
|
|
tags:
|
|
- kepler
|
|
script:
|
|
- volk_profile -v 8111
|
|
- volk_gnsssdr_profile -v 2053
|
|
- mkdir position-test && cd position-test
|
|
- export DISPLAY=unknown
|
|
- cp /captures/gitlab_test_signals/static/glonass/gnss-sdr_GLONASS_L1_CA_ibyte.conf ./gnss-sdr_GLONASS_L1_CA_ibyte.conf
|
|
- position_test --config_file_ptest=gnss-sdr_GLONASS_L1_CA_ibyte.conf --static_position="40.007988,-105.262707,1655" --static_scenario=1 --pvt_solver_dump_filename=./PVT.dat --static_2D_error_m=20 --static_3D_error_m=100 --accuracy_CEP=20 --precision_SEP=3000 --plot_position_test --show_plots=0
|
|
- mkdir GLOL1 && cp *.* ./GLOL1
|
|
artifacts:
|
|
paths:
|
|
- position-test/GLOL1/*
|
|
allow_failure: true
|
|
|
|
|
|
position-GLO-L2:
|
|
image: $DOCKER_HUB_USER/$DOCKER_HUB_REPO:testing-$CI_COMMIT_REF_NAME
|
|
stage: test
|
|
tags:
|
|
- kepler
|
|
script:
|
|
- volk_profile -v 8111
|
|
- volk_gnsssdr_profile -v 2053
|
|
- mkdir position-test && cd position-test
|
|
- export DISPLAY=unknown
|
|
- cp /captures/gitlab_test_signals/static/glonass/gnss-sdr_GLONASS_L2_CA_ibyte.conf ./gnss-sdr_GLONASS_L2_CA_ibyte.conf
|
|
- position_test --config_file_ptest=gnss-sdr_GLONASS_L2_CA_ibyte.conf --static_position="40.007988,-105.262707,1655" --static_scenario=1 --pvt_solver_dump_filename=./PVT.dat --static_2D_error_m=20 --static_3D_error_m=100 --accuracy_CEP=20 --precision_SEP=3000 --plot_position_test --show_plots=0
|
|
- mkdir GLOL2 && cp *.* ./GLOL2
|
|
artifacts:
|
|
paths:
|
|
- position-test/GLOL2/*
|
|
allow_failure: true
|
|
|
|
|
|
position-leo-4in1:
|
|
image: $DOCKER_HUB_USER/$DOCKER_HUB_REPO:testing-$CI_COMMIT_REF_NAME
|
|
stage: test
|
|
when: manual
|
|
tags:
|
|
- kepler
|
|
script:
|
|
- export DISPLAY=unknown
|
|
- volk_profile -v 8111
|
|
- volk_gnsssdr_profile -v 2053
|
|
- mkdir leo_position && cd leo_position
|
|
- mkdir gpsL1galE1gpsL5GalE5 && cd gpsL1galE1gpsL5GalE5
|
|
- cp /captures/gitlab_test_signals/dynamic/gnss-sdr_180417120737.A_L1E1L5E5.conf ./gnss-sdr_180417120737.A_L1E1L5E5.conf
|
|
- position_test --config_file_ptest=gnss-sdr_180417120737.A_L1E1L5E5.conf --static_scenario=0 --use_ref_motion_file=1 --ref_motion_filename=/captures/gitlab_test_signals/dynamic/leo_pvt_test/2018_04_17_12_44_39/motion_V1.csv --pvt_solver_dump_filename=./PVT.dat --plot_position_test --show_plots=0
|
|
artifacts:
|
|
paths:
|
|
- leo_position/gpsL1galE1gpsL5GalE5/*
|
|
allow_failure: true
|
|
|
|
|
|
run-tests-armhf:
|
|
image: carlesfernandez/gnsssdr-dev-arm32v7:thud
|
|
stage: test
|
|
tags:
|
|
- arm
|
|
when: manual
|
|
dependencies:
|
|
- crosscompile
|
|
script:
|
|
- cp binaries/bin/* /usr/bin/
|
|
- mkdir /usr/share/gnss-sim/
|
|
- cp -f binaries/share/* /usr/share/gnss-sim/
|
|
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib
|
|
- ldconfig
|
|
- volk_profile -v 8111
|
|
- volk_gnsssdr_profile -v 2053
|
|
- position_test
|
|
- run_tests --gtest_filter=Matio*
|
|
# - run_tests --gtest_filter=HybridObservablesTest* --PLL_bw_hz_start=25.0 --DLL_bw_hz_start=1.5 --PLL_narrow_bw_hz=10.0 --DLL_narrow_bw_hz=0.75 --disable_generator=1 --enable_external_signal_file=1 --signal_file=/captures/gitlab_test_signals/static/180417100529.A_L1E1_12500000Hz_ichar.dat --fs_gen_sps=12500000 --skip_samples=125000000 --external_signal_acquisition_threshold=4.0 --extend_correlation_symbols=5 --external_signal_acquisition_doppler_step_hz=10 --trk_test_implementation=GPS_L1_CA_DLL_PLL_Tracking --show_plots=0 --filename_rinex_obs=/captures/gitlab_test_signals/static/true_data_180417100529/rinex_obs/rinex-obs_V1_A1-static_vehicle.txt --skip_trk_transitory_s=30 --gtest_output=xml:test_results.xml
|
|
allow_failure: true
|
|
|
|
|
|
|
|
# Stage "deploy"
|
|
docker-gnsssdr:
|
|
image: docker:latest
|
|
stage: deploy
|
|
services:
|
|
- docker:dind
|
|
script:
|
|
- wget https://raw.githubusercontent.com/carlesfernandez/docker-gnsssdr/master/Dockerfile
|
|
- docker login -u "$DOCKER_HUB_USER" -p "$DOCKER_HUB_PASSWORD"
|
|
- mkdir docker-build
|
|
- cd docker-build
|
|
- cp ../Dockerfile .
|
|
- docker build -t carlesfernandez/docker-gnsssdr .
|
|
- docker push carlesfernandez/docker-gnsssdr
|
|
only:
|
|
- next
|
|
allow_failure: true
|
|
|
|
|
|
docker-pybombs-gnsssdr:
|
|
image: docker:latest
|
|
stage: deploy
|
|
services:
|
|
- docker:dind
|
|
script:
|
|
- wget https://raw.githubusercontent.com/carlesfernandez/docker-pybombs-gnsssdr/master/Dockerfile
|
|
- docker login -u "$DOCKER_HUB_USER" -p "$DOCKER_HUB_PASSWORD"
|
|
- mkdir docker-build
|
|
- cd docker-build
|
|
- cp ../Dockerfile .
|
|
- docker build -t carlesfernandez/docker-pybombs-gnsssdr .
|
|
- docker push carlesfernandez/docker-pybombs-gnsssdr
|
|
only:
|
|
- next
|
|
allow_failure: true
|
|
|
|
|
|
docker-access18:
|
|
image: docker:latest
|
|
stage: deploy
|
|
services:
|
|
- docker:dind
|
|
script:
|
|
- mkdir docker-build
|
|
- cd docker-build
|
|
- echo -e "FROM phusion/baseimage:0.11\nMAINTAINER carles.fernandez@cttc.es\nCMD [\"/sbin/my_init\"]\nWORKDIR /home/src\nRUN apt-get update && apt-get install -y --no-install-recommends build-essential cmake curl nano libarmadillo-dev libblas-dev libboost-chrono-dev libboost-dev libboost-date-time-dev libboost-filesystem-dev libboost-serialization-dev libboost-system-dev libboost-thread-dev libpugixml-dev libgflags-dev libgoogle-glog-dev googletest libgnutls-openssl-dev liblapack-dev liblog4cpp5-dev libmatio-dev git ca-certificates gnuradio-dev python-mako python-six libprotobuf-dev protobuf-compiler texlive-latex-base texlive-fonts-recommended texlive-font-utils texlive-pictures epstool fig2dev octave pstoedit gnuplot-x11 && rm -rf /var/lib/apt/lists/*\nRUN git clone https://gitlab.com/gnss-sdr/gnss-sdr && cd gnss-sdr/build && git checkout $CI_COMMIT_SHA && cmake -DENABLE_PACKAGING=ON -DENABLE_INSTALL_TESTS=ON .. && NPROC=$(grep -c ^processor /proc/cpuinfo) && make -j$(($NPROC+1)) && make install && rm -rf /home/src\nWORKDIR /home\nRUN /usr/bin/volk_profile -v 8111\nRUN /usr/local/bin/volk_gnsssdr_profile\nRUN rm -rf /tmp/* /var/tmp/*\nCMD [\"bash\"]" > Dockerfile
|
|
- docker login -u "$DOCKER_HUB_USER" -p "$DOCKER_HUB_PASSWORD"
|
|
- docker build -t $DOCKER_HUB_USER/$DOCKER_HUB_REPO .
|
|
- docker tag $DOCKER_HUB_USER/$DOCKER_HUB_REPO:latest $DOCKER_HUB_USER/$DOCKER_HUB_REPO:access18
|
|
- docker push $DOCKER_HUB_USER/$DOCKER_HUB_REPO:access18
|
|
|
|
|
|
fpga-binary:
|
|
image: ubuntu:xenial
|
|
stage: deploy
|
|
tags:
|
|
- kepler
|
|
script:
|
|
- apt-get update
|
|
- apt-get install -y build-essential xz-utils python3 curl git automake libtool g++
|
|
- curl -k https://sites.cttc.es/gnss_files/SDK/Thud/oecore-x86_64-armv7ahf-neon-toolchain-nodistro.0.sh --output oecore-x86_64-armv7ahf-neon-toolchain-nodistro.0.sh
|
|
- echo "9bf042cc7481cb0fee9511a2c63751b2 oecore-x86_64-armv7ahf-neon-toolchain-nodistro.0.sh" > sdk.md5
|
|
- md5sum -c sdk.md5
|
|
- chmod +x ./oecore-x86_64-armv7ahf-neon-toolchain-nodistro.0.sh
|
|
- sh ./oecore-x86_64-armv7ahf-neon-toolchain-nodistro.0.sh -y
|
|
- . /usr/local/oecore-x86_64/environment-setup-armv7ahf-neon-oe-linux-gnueabi
|
|
- cd build
|
|
- cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchains/oe-sdk_cross.cmake -DENABLE_FPGA=ON -DENABLE_OSMOSDR=ON -DENABLE_UNIT_TESTING_EXTRA=ON -DENABLE_SYSTEM_TESTING_EXTRA=ON -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_FMCOMMS2=ON -DENABLE_AD9361=ON -DENABLE_RAW_UDP=ON -DENABLE_INSTALL_TESTS=ON -DCMAKE_C_FLAGS_RELEASE="-s" -DCMAKE_CXX_FLAGS_RELEASE="-s" -DENABLE_PACKAGING=ON ..
|
|
- make -j
|
|
- mkdir local_install
|
|
- make install DESTDIR=./local_install
|
|
- rm ./local_install/usr/bin/front-end-cal
|
|
- rm ./local_install/usr/bin/ttff
|
|
- cd ..
|
|
- mkdir binaries-fpga
|
|
- mkdir binaries-fpga/bin
|
|
- mkdir binaries-fpga/share
|
|
- cp build/local_install/usr/bin/* binaries-fpga/bin/
|
|
- cp build/local_install/usr/share/gnss-sim/* binaries-fpga/share/
|
|
allow_failure: true
|
|
artifacts:
|
|
paths:
|
|
- binaries-fpga/*
|
|
|
|
|
|
# Stage "experiment"
|
|
run-access18:
|
|
image: $DOCKER_HUB_USER/$DOCKER_HUB_REPO:access18
|
|
stage: experiment
|
|
script:
|
|
- apt-get update
|
|
# Grab the data set
|
|
- mkdir -p exp-access18/data
|
|
- cd exp-access18/data
|
|
- curl https://zenodo.org/record/1184601/files/L2_signal_samples.tar.xz --output L2_signal_samples.tar.xz
|
|
- tar xvfJ L2_signal_samples.tar.xz
|
|
- echo "3a04c1eeb970776bb77f5e3b7eaff2df L2_signal_samples.tar.xz" > data.md5
|
|
- md5sum -c data.md5
|
|
- cd ..
|
|
# Execute the experiment
|
|
- cp ../src/utils/reproducibility/ieee-access18/L2-access18.conf .
|
|
- cp ../src/utils/reproducibility/ieee-access18/plot_dump.m .
|
|
- cp -r ../src/utils/matlab/libs/geoFunctions .
|
|
- gnss-sdr --c=L2-access18.conf
|
|
- octave --no-gui plot_dump.m
|
|
- epspdf Figure2.eps Figure2.pdf
|
|
- cd ..
|
|
- mkdir access18
|
|
- cp exp-access18/*.pdf access18/
|
|
artifacts:
|
|
paths:
|
|
- access18/*.pdf
|