1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-11-05 01:26:24 +00:00
gnss-sdr/.gitlab-ci.yml

180 lines
6.2 KiB
YAML
Raw Normal View History

2018-02-09 15:50:47 +00:00
# Is performed before the scripts in the stages step
before_script:
- source /etc/profile
# Defines stages which are to be executed
stages:
- build
- test
2018-02-10 01:54:17 +00:00
- deploy
2018-02-14 11:04:18 +00:00
# - experiment
2018-02-09 15:50:47 +00:00
# Stage "build"
2018-02-11 12:34:46 +00:00
debian8.10:
2018-02-09 18:34:15 +00:00
image: debian:8.10-slim
stage: build
script:
- apt-get update
2018-02-09 18:37:02 +00:00
- 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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev libgtest-dev
2018-02-09 18:34:15 +00:00
- cd build
- cmake ..
- make -j2
- make install
2018-02-09 15:50:47 +00:00
2018-02-11 12:51:32 +00:00
debian9.3:
2018-02-09 18:13:51 +00:00
image: debian:9.3-slim
stage: build
2018-02-09 18:34:15 +00:00
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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest
- cd build
- cmake ..
- make -j2
- make install
2018-02-09 21:35:38 +00:00
2018-02-11 12:51:32 +00:00
debian9.3-i386:
2018-02-09 21:17:08 +00:00
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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest
- cd build
- cmake ..
- make -j2
- make install
2018-02-11 12:51:32 +00:00
debian10:
2018-02-09 18:44:45 +00:00
image: debian:buster-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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest
- cd build
- cmake ..
- make -j2
- make install
2018-02-11 12:51:32 +00:00
ubuntu16.04:
2018-02-09 18:34:15 +00:00
image: ubuntu:xenial
stage: build
2018-02-09 18:13:51 +00:00
script:
- apt-get update
2018-02-09 18:44:45 +00:00
- 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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev libgtest-dev
2018-02-09 18:13:51 +00:00
- cd build
- cmake ..
- make -j2
- make install
2018-02-09 18:34:15 +00:00
2018-02-11 12:51:32 +00:00
ubuntu18.04:
2018-02-09 18:34:15 +00:00
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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest
- cd build
- cmake ..
- make -j2
- make install
2018-02-09 23:39:25 +00:00
2018-02-09 23:57:17 +00:00
get-dockerfile:
image: debian:9.3-slim
stage: build
script:
- apt-get update
2018-02-10 00:04:32 +00:00
- apt-get install -y git ca-certificates
2018-02-09 23:57:17 +00:00
- git clone https://github.com/carlesfernandez/docker-gnsssdr
artifacts:
paths:
- docker-gnsssdr/
2018-02-09 15:50:47 +00:00
# Stage "test"
2018-02-11 12:51:32 +00:00
run-tests-amd64:
2018-02-09 19:39:39 +00:00
image: debian:9.3-slim
2018-02-09 15:50:47 +00:00
stage: test
script:
- apt-get update
2018-02-09 19:39:39 +00:00
- 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 libblas-dev liblapack-dev libarmadillo-dev libgflags-dev libgoogle-glog-dev libgnutls-openssl-dev python-mako python-six libmatio-dev googletest
2018-02-09 15:50:47 +00:00
- mkdir build-test
- mkdir build64
2018-02-09 15:50:47 +00:00
- cd build-test
- cmake ..
- make -j2
- make check
- ../install/run_tests --gtest_output=xml
- mv *.xml ../build64/
2018-02-09 15:50:47 +00:00
- cd ..
- rm -rf build-test
artifacts:
paths:
- build64/*.xml
2018-02-11 12:51:32 +00:00
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 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
2018-02-10 23:48:09 +00:00
- cmake -DENABLE_PACKAGING=ON ..
- make -j2
- make check
- ../install/run_tests --gtest_output=xml
- mv *.xml ../build32/
- cd ..
- rm -rf build-test
artifacts:
paths:
- build32/*.xml
2018-02-10 01:54:17 +00:00
# Stage "deploy"
docker-gnsssdr:
image: docker:latest
stage: deploy
services:
- docker:dind
before_script:
2018-02-10 10:16:05 +00:00
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD"
2018-02-10 01:54:17 +00:00
script:
- mkdir docker-build
- cd docker-build
- cp ../docker-gnsssdr/Dockerfile .
- docker build -t carlesfernandez/docker-gnsssdr .
- docker push carlesfernandez/docker-gnsssdr
dependencies:
- get-dockerfile
2018-02-14 11:04:18 +00:00
# Stage "experiment"
run-experiment:
image: debian:9.3-slim
stage: build
script:
- apt-get update
# Grab analysis and representation tools
2018-02-14 11:13:47 +00:00
- apt-get install -y openjdk-8-jre-headless default-jre-headless ca-certificates-java
2018-02-14 11:07:12 +00:00
- apt-get install -y octave
2018-02-14 11:04:18 +00:00
# Grab the data set
- apt-get install -y curl
- curl https://zenodo.org/record/1172670/files/L2_signal_samples.tar.xz --output L2_signal_samples.tar.xz
- tar xvzf L2_signal_samples.tar.xz ./data/
- cd data
- md5sum L2_signal_samples.dat > data.md5
- md5sum -c data.md5
artifacts:
paths:
- data/*.dat