1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-11-14 05:44:56 +00:00
gnss-sdr/.gitlab-ci.yml

146 lines
8.0 KiB
YAML
Raw Normal View History

2018-09-04 16:35:30 +00:00
# This script sets up a Continuous Reproducibility system for GNSS-SDR at GitLab
#
# Useful links:
# Website: http://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
# Stage "test"
observables-test-180417100529:
2018-09-05 11:04:31 +00:00
image: ubuntu:bionic
2018-09-04 16:35:30 +00:00
stage: test
tags:
2018-09-05 09:45:52 +00:00
when: manual
2018-09-04 16:35:30 +00:00
script:
- apt-get update
2018-09-05 15:22:20 +00:00
- 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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest gnuplot
2018-09-04 16:35:30 +00:00
- mkdir build-test
- mkdir build64
- cd build-test
2018-09-04 16:52:44 +00:00
- cmake -DENABLE_UNIT_TESTING_EXTRA=ON -DENABLE_SYSTEM_TESTING_EXTRA=ON ..
2018-09-04 16:35:30 +00:00
- NPROC=$(grep -c ^processor /proc/cpuinfo)
- make -j$(($NPROC+1))
2018-09-05 11:04:31 +00:00
2018-09-04 16:35:30 +00:00
# Execute Unit Tests
2018-09-05 11:04:31 +00:00
- export DISPLAY=unknown
2018-09-04 16:35:30 +00:00
- echo "Running HybridObservablesTest for GPS L1 CA..."
2018-09-05 09:45:52 +00:00
- ../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
2018-09-04 16:35:30 +00:00
- echo "Running HybridObservablesTest for Galileo E1..."
2018-09-04 16:52:44 +00:00
- ../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
2018-09-04 16:35:30 +00:00
- echo "Running HybridObservablesTest for GPS L5..."
2018-09-04 16:52:44 +00:00
- ../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
2018-09-04 16:35:30 +00:00
- echo "Running HybridObservablesTest for Galileo E5a..."
2018-09-04 16:52:44 +00:00
- ../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
2018-09-04 16:35:30 +00:00
- mv *.xml ../build64/
- cd ..
- rm -rf build-test
artifacts:
paths:
- build64/*.xml
position-test-180417100529:
2018-09-05 11:04:31 +00:00
image: ubuntu:bionic
2018-09-04 16:35:30 +00:00
stage: test
tags:
2018-09-05 09:45:52 +00:00
when: manual
2018-09-04 16:35:30 +00:00
script:
- apt-get update
2018-09-05 15:22:20 +00:00
- 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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest gnuplot
2018-09-04 16:35:30 +00:00
- 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 System Tests
2018-09-05 11:04:31 +00:00
- export DISPLAY=unknown
2018-09-04 16:35:30 +00:00
- ../install/position_test -config_file_ptest=/captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_L1E1.conf -static_scenario=0 -use_pvt_solver_dump=1 -use_ref_motion_file=1 -ref_motion_filename=/captures/gitlab_test_signals/static/true_data_180417100529/motion_V1.csv -pvt_solver_dump_filename=./PVT_pvt.dat -show_plots=0
- mv *.xml ../build64/
2018-09-05 15:52:07 +00:00
- mv *.ps ../build64/
2018-09-04 16:35:30 +00:00
- cd ..
- rm -rf build-test
artifacts:
paths:
- build64/*.xml
2018-09-05 15:37:27 +00:00
- build64/*.ps
2018-09-04 16:35:30 +00:00
run-tests-arm:
2018-09-05 13:02:49 +00:00
image: debian:9.3-slim
2018-09-04 16:35:30 +00:00
stage: test
tags:
2018-09-05 16:17:32 +00:00
- arm
2018-09-05 09:45:52 +00:00
when: manual
2018-09-04 16:35:30 +00:00
script:
- apt-get update
2018-09-05 15:22:20 +00:00
- 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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest gnuplot
2018-09-04 16:35:30 +00:00
- mkdir build-test
- mkdir build64
- cd build-test
- cmake -DENABLE_SYSTEM_TESTING_EXTRA=ON ..
- make -j2
# 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