mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-11-04 17:16:26 +00:00
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next
This commit is contained in:
commit
1d8c617a9f
523
.gitlab-ci.yml
Normal file
523
.gitlab-ci.yml
Normal file
@ -0,0 +1,523 @@
|
||||
# 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.10:
|
||||
image: debian:8.10-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.3:
|
||||
image: debian:9.3-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.3-i386:
|
||||
image: i386/debian:9.3-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-slim
|
||||
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
|
||||
|
||||
|
||||
# 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:master\nMAINTAINER carles.fernandez@cttc.es\nCMD [\"/sbin/my_init\"]\nWORKDIR /home/src\nRUN apt-get update && apt-get install -y 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 libgtest-dev 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 transfig octave && 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\nRUN /usr/bin/volk_profile -v 8111\nRUN /usr/local/bin/volk_gnsssdr_profile\nRUN apt-get clean && rm -rf /tmp/* /var/tmp/*\nRUN rm -rf /home/src\nWORKDIR /home\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.10.1\nMAINTAINER carles.fernandez@cttc.es\nCMD [\"/sbin/my_init\"]\nWORKDIR /home/src\nRUN apt-get update && apt-get install -y 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 libgtest-dev 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 transfig octave && 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\nRUN /usr/bin/volk_profile -v 8111\nRUN /usr/local/bin/volk_gnsssdr_profile\nRUN apt-get clean && rm -rf /tmp/* /var/tmp/*\nRUN rm -rf /home/src\nWORKDIR /home\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
|
Loading…
Reference in New Issue
Block a user