Skip to content
This repository was archived by the owner on Feb 2, 2021. It is now read-only.

Commit 93484ea

Browse files
authored
Merge pull request #37 from analogdevicesinc/dockerize-build
Dockerize build
2 parents 4af5acd + 470121e commit 93484ea

18 files changed

+187
-85
lines changed

.gitlab-ci.yml

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
stages:
22
- build
33
- test
4-
- test_installer
54
- test_hardware
65
- deploy
76

@@ -12,11 +11,9 @@ build:2018_R1:
1211
- matlab
1312
stage: build
1413
script:
15-
- cd CI/scripts
16-
- make build
17-
- make add_libad9361
18-
- make gen_tlbx
19-
- cd ../..
14+
- ./CI/scripts/dockermake build
15+
- ./CI/scripts/dockermake add_libad9361
16+
- ./CI/scripts/dockermake gen_tlbx
2017
- mkdir mltbx
2118
- ls *.mltbx
2219
- cp *.mltbx mltbx/
@@ -33,9 +30,11 @@ build:master:
3330
- matlab
3431
stage: build
3532
script:
36-
- cd CI/scripts
37-
- make build MLRELEASE=R2018b HDLBRANCH=master
38-
- cd ../..
33+
- export HDLBRANCH=master
34+
- export MLRELEASE=R2018b
35+
- ./CI/scripts/dockermake build
36+
- export HDLBRANCH=
37+
- export MLRELEASE=
3938
allow_failure: true
4039
artifacts:
4140
paths:
@@ -50,9 +49,8 @@ test:2018_R1:
5049
dependencies:
5150
- build:2018_R1
5251
script:
53-
- cd CI/scripts
54-
- make test
55-
- make zip
52+
- ./CI/scripts/dockermake test
53+
- ./CI/scripts/dockermake zip
5654
artifacts:
5755
paths:
5856
- zip/
@@ -64,16 +62,15 @@ test_installer:2018_R1_Installer:
6462
tags:
6563
- vivado
6664
- matlab
67-
stage: test_installer
65+
stage: test
6866
dependencies:
6967
- build:2018_R1
7068
script:
7169
- cp mltbx/* .
7270
- pwd
7371
- ls
7472
- ls *.mltbx
75-
- cd CI/scripts
76-
- make test_installer
73+
- ./CI/scripts/dockermake test_installer
7774
artifacts:
7875
paths:
7976
- mltbx/
@@ -83,8 +80,6 @@ test_installer:2018_R1_Installer:
8380

8481
# Test streaming interfaces with hardware
8582
test_hardware:Streaming_Hardware:
86-
only:
87-
- schedules
8883
tags:
8984
- matlab
9085
- hardware
@@ -97,17 +92,21 @@ test_hardware:Streaming_Hardware:
9792
artifacts:
9893
paths:
9994
- logs/
95+
- Report.pdf
10096

101-
# Test streaming interfaces with hardware manual
102-
test_manual:Streaming_Hardware_Manual:
103-
when: manual
97+
# Test EVM performance with hardware
98+
test_hardware:EVM_Hardware:
99+
only:
100+
- schedules
104101
tags:
105102
- matlab
106103
- hardware
104+
stage: test_hardware
105+
dependencies:
106+
- build:2018_R1
107107
script:
108108
- cd CI/scripts
109-
- make add_libad9361
110-
- make test_streaming
109+
- make test_evm
111110
artifacts:
112111
paths:
113112
- logs/
@@ -127,4 +126,3 @@ deploy:
127126
paths:
128127
- mltbx/
129128

130-

CI/scripts/Docker

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
FROM ubuntu:18.04
2+
3+
MAINTAINER Travis Collins <travis.collins@analog.com>
4+
RUN apt update
5+
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y libpng-dev libfreetype6-dev libblas-dev liblapack-dev gfortran build-essential xorg
6+
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y openjdk-8-jre openjdk-8-jdk libgtk2.0-0 libxss1 libxt6 zip unzip curl wget tar git

CI/scripts/Makefile

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
# Example
44
# make build MLRELEASE=R2018b HDLBRANCH=hdl_2018_r1
55

6+
MLFLAGS := -nodisplay -nodesktop -nosplash
7+
68
ifeq ($(MLRELEASE),)
79
MLRELEASE := R2018b
810
endif
@@ -13,6 +15,7 @@ endif
1315

1416
ifeq ($(OS),Windows_NT)
1517
MLPATH := /cygdrive/c/Program\ Files/MATLAB
18+
MLFLAGS := $(MLFLAGS) -wait
1619
else
1720
UNAME_S := $(shell uname -s)
1821
ifeq ($(UNAME_S),Linux)
@@ -24,6 +27,7 @@ MLRELEASE := MATLAB_${MLRELEASE}.app
2427
endif
2528
endif
2629

30+
2731
GITTAG := $(shell git describe --tags HEAD)
2832

2933
.ONESHELL:
@@ -68,27 +72,31 @@ test_installer:
6872
cp *.mltbx test/ ; \
6973
cp hdl_wa_bsp/vendor/AnalogDevices/hdlcoder_board_customization.m test/hdlcoder_board_customization_local.m ; \
7074
sed -i "s/hdlcoder_board_customization/hdlcoder_board_customization_local/g" test/hdlcoder_board_customization_local.m ; \
71-
${MLPATH}/$(MLRELEASE)/bin/matlab -wait -nodesktop -r "cd('test');runInstallerTests;"
75+
${MLPATH}/$(MLRELEASE)/bin/matlab $(MLFLAGS) -r "cd('test');runInstallerTests;"
7276

7377
test:
7478
cd ../.. ; \
7579
cp hdl_wa_bsp/vendor/AnalogDevices/hdlcoder_board_customization.m test/hdlcoder_board_customization_local.m ; \
7680
sed -i "s/hdlcoder_board_customization/hdlcoder_board_customization_local/g" test/hdlcoder_board_customization_local.m ; \
77-
${MLPATH}/$(MLRELEASE)/bin/matlab -wait -nodesktop -r "cd('test');runTests;"
81+
${MLPATH}/$(MLRELEASE)/bin/matlab $(MLFLAGS) -r "cd('test');runTests;"
7882

7983
test_streaming:
8084
cd ../.. ; \
81-
${MLPATH}/$(MLRELEASE)/bin/matlab -wait -nodesktop -r "addpath(genpath('test'));addpath(genpath('deps'));hwTestRunner;"
85+
${MLPATH}/$(MLRELEASE)/bin/matlab $(MLFLAGS) -r "addpath(genpath('test'));addpath(genpath('deps'));runHWTests;"
86+
87+
test_evm:
88+
cd ../.. ; \
89+
${MLPATH}/$(MLRELEASE)/bin/matlab $(MLFLAGS) -r "addpath(genpath('test'));addpath(genpath('deps'));hwTestRunner;"
8290

8391
test_modem:
8492
cd ../.. ; \
85-
${MLPATH}/$(MLRELEASE)/bin/matlab -wait -nodesktop -r "addpath(genpath('hdl_wa_bsp'));cd('targeting_models');addpath(genpath('modem-qpsk'))"
93+
${MLPATH}/$(MLRELEASE)/bin/matlab $(MLFLAGS) -r "addpath(genpath('hdl_wa_bsp'));cd('targeting_models');addpath(genpath('modem-qpsk'))"
8694

8795
gen_tlbx:
88-
${MLPATH}/$(MLRELEASE)/bin/matlab -wait -nodesktop -r "genTlbx;exit();"
96+
${MLPATH}/$(MLRELEASE)/bin/matlab $(MLFLAGS) -r "genTlbx;exit();"
8997

9098
linter:
91-
${MLPATH}/$(MLRELEASE)/bin/matlab -wait -nodesktop -r "linter;exit();"
99+
${MLPATH}/$(MLRELEASE)/bin/matlab $(MLFLAGS) -r "linter;exit();"
92100

93101
zip:
94102
cd ../.. ; \

CI/scripts/bsp.prj

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -130,29 +130,6 @@ test/*
130130
</fileset.rootfiles>
131131
<fileset.depfun.included />
132132
<fileset.depfun.excluded>
133-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/hdlverifier/supportpackages/fpgadebug/+hdlverifier/FPGADataReader.p</file>
134-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/libiio/axi/+matlabshared/+libiio/+aximm/read.p</file>
135-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/libiio/axi/+matlabshared/+libiio/+aximm/write.p</file>
136-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrpluginbase/host/+comm/+internal/SDRSystemBaseUpdateBuildInfo.p</file>
137-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrpluginbase/host/+sdrplugin/+internal/SDRPluginManager.p</file>
138-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrpluginbase/host/funcs/sdrdev.m</file>
139-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrpluginbase/host/funcs/sdrrx.m</file>
140-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrpluginbase/host/funcs/sdrtx.m</file>
141-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/e310/manual/+comm/SDRRxE310.m</file>
142-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/e310/manual/+comm/SDRTxE310.m</file>
143-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/plutoradio/+comm/SDRRxPluto.p</file>
144-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/plutoradio/+comm/SDRTxPluto.p</file>
145-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/plutoradio/findPlutoRadio.p</file>
146-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/xpicozedsdr/manual/+comm/SDRRxADIRFSOM.m</file>
147-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/xpicozedsdr/manual/+comm/SDRTxADIRFSOM.m</file>
148-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/xzc706afmc3/manual/+comm/SDRRxZC706FMC234.m</file>
149-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/xzc706afmc3/manual/+comm/SDRTxZC706FMC234.m</file>
150-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/xzedboardafmc3/manual/+comm/SDRRxZedBoardFMC234.m</file>
151-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/xzedboardafmc3/manual/+comm/SDRTxZedBoardFMC234.m</file>
152-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/zynqradio/+comm/SDRRxAD936x.p</file>
153-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/zynqradio/+comm/SDRTxAD936x.p</file>
154-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrz/sdrz/+comm/SDRRxZynqFMC234.p</file>
155-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrz/sdrz/+comm/SDRTxZynqFMC234.p</file>
156133
</fileset.depfun.excluded>
157134
<fileset.package />
158135
<build-deliverables>
@@ -204,4 +181,4 @@ test/*
204181
<matlab>true</matlab>
205182
</platform>
206183
</configuration>
207-
</deployment-project>
184+
</deployment-project>

CI/scripts/bsp.tmpl

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -108,29 +108,7 @@ mltbx/*
108108
</fileset.rootfiles>
109109
<fileset.depfun.included />
110110
<fileset.depfun.excluded>
111-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/hdlverifier/supportpackages/fpgadebug/+hdlverifier/FPGADataReader.p</file>
112-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/libiio/axi/+matlabshared/+libiio/+aximm/read.p</file>
113-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/libiio/axi/+matlabshared/+libiio/+aximm/write.p</file>
114-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrpluginbase/host/+comm/+internal/SDRSystemBaseUpdateBuildInfo.p</file>
115-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrpluginbase/host/+sdrplugin/+internal/SDRPluginManager.p</file>
116-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrpluginbase/host/funcs/sdrdev.m</file>
117-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrpluginbase/host/funcs/sdrrx.m</file>
118-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrpluginbase/host/funcs/sdrtx.m</file>
119-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/e310/manual/+comm/SDRRxE310.m</file>
120-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/e310/manual/+comm/SDRTxE310.m</file>
121-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/plutoradio/+comm/SDRRxPluto.p</file>
122-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/plutoradio/+comm/SDRTxPluto.p</file>
123-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/plutoradio/findPlutoRadio.p</file>
124-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/xpicozedsdr/manual/+comm/SDRRxADIRFSOM.m</file>
125-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/xpicozedsdr/manual/+comm/SDRTxADIRFSOM.m</file>
126-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/xzc706afmc3/manual/+comm/SDRRxZC706FMC234.m</file>
127-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/xzc706afmc3/manual/+comm/SDRTxZC706FMC234.m</file>
128-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/xzedboardafmc3/manual/+comm/SDRRxZedBoardFMC234.m</file>
129-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/xzedboardafmc3/manual/+comm/SDRTxZedBoardFMC234.m</file>
130-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/zynqradio/+comm/SDRRxAD936x.p</file>
131-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrplug/sdrplugins/zynqradio/+comm/SDRTxAD936x.p</file>
132-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrz/sdrz/+comm/SDRRxZynqFMC234.p</file>
133-
<file>/home/tcollins/Documents/MATLAB/SupportPackages/R2018b/toolbox/shared/sdr/sdrz/sdrz/+comm/SDRTxZynqFMC234.p</file>
111+
<file>/mlhsp/toolbox/shared/sdr/sdrplug/sdrplugins/plutoradio/findPlutoRadio.p</file>
134112
</fileset.depfun.excluded>
135113
<fileset.package />
136114
<build-deliverables>

CI/scripts/dockermake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
docker build . -t matlabci -f CI/scripts/Docker
3+
docker run --rm -e "MLRELEASE=$MLRELEASE" -e "HDLBRANCH=$HDLBRANCH" -v "$(pwd):/work" -v /mlhsp:/mlhspro:ro -v /usr/local/MATLAB:/usr/local/MATLAB -v /root/.matlab:/root/.matlabro:ro -v /opt/Xilinx:/opt/Xilinx --mac-address="$ADDR" matlabci /bin/bash -c "cd /work && chmod +x CI/scripts/setupDocker.sh && ./CI/scripts/setupDocker.sh && make -C CI/scripts '$@'"

CI/scripts/genTlbx.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
fclose(fid);
2020

2121
cd('../..');
22-
addpath(matlabshared.supportpkg.getSupportPackageRoot);
22+
addpath(genpath(matlabshared.supportpkg.getSupportPackageRoot));
2323
addpath(genpath('.'));
2424
rmpath(genpath('.'));
2525
ps = {'doc','hdl_wa_bsp','hil_models','targeting_models','deps'};

CI/scripts/setupDocker.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
# This file is run inside of the docker container
3+
echo "Copying HSP files"
4+
cp -r /mlhspro /mlhsp
5+
echo "Copying .matlab"
6+
cp -r /root/.matlabro /root/.matlab
7+

test/AD9361Tests.m

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
1-
classdef AD9361Tests < matlab.unittest.TestCase
1+
classdef AD9361Tests < HardwareTests
22

33
properties
44
uri = 'ip:192.168.2.1';
5+
author = 'ADI';
6+
end
7+
8+
methods(TestClassSetup)
9+
% Check hardware connected
10+
function CheckForHardware(testCase)
11+
Device = @()adi.AD9361.Rx;
12+
testCase.CheckDevice('ip',Device,testCase.uri(4:end),false);
13+
end
514
end
615

716
methods (Static)

test/AD9363Tests.m

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
1-
classdef AD9363Tests < matlab.unittest.TestCase
1+
classdef AD9363Tests < HardwareTests
22

33
properties
44
uri = 'ip:192.168.2.1';
5+
author = 'ADI';
6+
end
7+
8+
methods(TestClassSetup)
9+
% Check hardware connected
10+
function CheckForHardware(testCase)
11+
Device = @()adi.AD9363.Rx;
12+
testCase.CheckDevice('ip',Device,testCase.uri(4:end),false);
13+
end
514
end
615

716
methods (Static)

0 commit comments

Comments
 (0)