# 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 - deploy - experiment # Stage "build" archlinux: image: base/devel:latest stage: build before_script: - pwd script: - pacman -Syu --noconfirm - pacman -S --noconfirm cmake git boost boost-libs log4cpp libvolk gnuradio gnuradio-osmosdr libpcap blas lapack gflags google-glog openssl python2-mako python2-six libmatio gtest - cd build - cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON .. - NPROC=$(grep -c ^processor /proc/cpuinfo) - make -j$(($NPROC+1)) - make check - make install 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 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 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 allow_failure: true crosscompile: image: ubuntu:xenial stage: build script: - apt-get update - apt-get install -y build-essential xz-utils curl gawk wget git-core diffstat unzip texinfo gcc-multilib chrpath socat cpio python python3 python3-pip python3-pexpect debianutils iputils-ping - curl https://sites.cttc.es/gnss_files/SDK/Rocko/oecore-x86_64-armv7ahf-neon-toolchain-nodistro.0.sh --output oecore-x86_64-armv7ahf-neon-toolchain-nodistro.0.sh - echo "d3c3d5f909c1ca81435108a3cfc4227b 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 -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_FMCOMMS2=ON -DENABLE_AD9361=ON -DENABLE_RAW_UDP=ON .. - make - make install DESTDIR=/usr/local/oecore-x86_64/sysroots/armv7ahf-neon-oe-linux-gnueabi/ allow_failure: true debian8.11: image: debian:8.11-slim stage: build script: - apt-get update - apt-get install -y --no-install-recommends build-essential libtool automake 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 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 allow_failure: true debian9.5: image: debian:9.5-slim 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 libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest - cd build - cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON .. - NPROC=$(grep -c ^processor /proc/cpuinfo) - make -j$(($NPROC+1)) - make check - make install debian9.5-i386: image: i386/debian:9.5-slim 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 libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest - cd build - cmake -DENABLE_PACKAGING=ON -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON .. - NPROC=$(grep -c ^processor /proc/cpuinfo) - make -j$(($NPROC+1)) - make check - make install debian10: image: debian:buster stage: build script: - apt-get update - apt-get upgrade -y - 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 libiio-dev gr-iio 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 -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 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 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 fedora27: image: fedora:27 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 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 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 gr-osmosdr-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 allow_failure: true opensuse42.3: image: opensuse:42.3 stage: build before_script: - pwd script: - zypper -n up - zypper -n install cmake git gcc-c++ boost-devel log4cpp-devel gnuradio-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 allow_failure: true opensuse-tumbleweed: image: opensuse:tumbleweed stage: build before_script: - pwd script: - zypper -n up - zypper -n install cmake git gcc-c++ boost-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 libpcap-devel armadillo-devel libtool automake hdf5-devel openssl-devel python-Mako python-six - cd build - cmake -DENABLE_RAW_UDP=ON .. - NPROC=$(grep -c ^processor /proc/cpuinfo) - make -j$(($NPROC+1)) - make check - make install 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 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 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 allow_failure: true ubuntu16.04: image: ubuntu:xenial 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 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 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 libpcap-dev libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest - cd build - cmake -DENABLE_OSMOSDR=ON -DENABLE_RAW_UDP=ON .. - NPROC=$(grep -c ^processor /proc/cpuinfo) - make -j$(($NPROC+1)) - make check - make install allow_failure: true coverity-scan: image: ubuntu:xenial stage: build script: - apt-get update - apt-get install -y wget curl - wget -O ./cov-analysis-linux64.tgz https://scan.coverity.com/download/linux64 --post-data "project=$COVERITY_SCAN_USER%2Fgnss-sdr&token=$COVERITY_SCAN_TOKEN" - tar xvzf cov-analysis-linux64.tgz - export PATH=$PATH:$(pwd)/cov-analysis-linux64-2017.07/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 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 -ENABLE_RAW_UDP=ON .. - cov-build --dir cov-int make -j2 - tar cvzf gnss-sdr.tgz cov-int - curl --form token=$COVERITY_SCAN_TOKEN --form email=$COVERITY_SCAN_EMAIL --form file=@$(pwd)/gnss-sdr.tgz --form version="0.0.9-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 # Stage "test" run-tests: image: debian:9.3-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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest - 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:9.3-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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest - 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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest gnuplot - 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 position-test-180417100529: image: ubuntu:bionic stage: test tags: - kepler 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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest gnuplot - 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 - export DISPLAY=unknown - ../install/position_test -config_file_ptest=/captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_L1.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 - rm PVT_*.* && mv *.ps ../build64/ - ../install/position_test -config_file_ptest=/captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_E1.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 - rm PVT_*.* && mv *.ps ../build64/ - ../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 - rm PVT_*.* && mv *.ps ../build64/ - ../install/position_test -config_file_ptest=/captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_L5.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 - rm PVT_*.* && mv *.ps ../build64/ # - ../install/position_test -config_file_ptest=/captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_E5.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 # - rm PVT_*.* && mv *.ps ../build64/ - ../install/position_test -config_file_ptest=/captures/gitlab_test_signals/static/gnss-sdr_180417100529.A_L5E5.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 *.ps ../build64/ - mv *.xml ../build64/ - cd .. - rm -rf build-test artifacts: paths: - build64/*.xml - build64/*.ps # 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 "$CI_REGISTRY_USER" -p "$CI_REGISTRY_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-gnsssdr-v0.0.10: image: docker:18.05 stage: deploy services: - docker:dind script: - wget https://raw.githubusercontent.com/carlesfernandez/docker-gnsssdr/v0.0.10/Dockerfile - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" - mkdir docker-build - cd docker-build - cp ../Dockerfile . - docker build -t $DOCKER_HUB_USER/$DOCKER_HUB_REPO . - docker tag $DOCKER_HUB_USER/$DOCKER_HUB_REPO:latest $DOCKER_HUB_USER/$DOCKER_HUB_REPO:0.0.10 - docker push $DOCKER_HUB_USER/$DOCKER_HUB_REPO:0.0.10 only: - v0.0.10 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 "$CI_REGISTRY_USER" -p "$CI_REGISTRY_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 libgflags-dev libgoogle-glog-dev googletest libgnutls-openssl-dev liblapack-dev liblog4cpp5-dev libmatio-dev git ca-certificates gnuradio-dev python-mako python-six 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 docker-access18-0.0.10: image: docker:18.05 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 libgflags-dev libgoogle-glog-dev googletest libgnutls-openssl-dev liblapack-dev liblog4cpp5-dev libmatio-dev git ca-certificates gnuradio-dev python-mako python-six 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 v0.0.10 && 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-0.0.10 - docker push $DOCKER_HUB_USER/$DOCKER_HUB_REPO:access18-0.0.10 only: - v0.0.10 allow_failure: true # 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 run-access18-0.0.10: image: $DOCKER_HUB_USER/$DOCKER_HUB_REPO:access18-0.0.10 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 only: - v0.0.10