@@ -37,143 +37,6 @@ stages:
3737 # Builds
3838 # ############################################
3939 jobs :
40- - job : LinuxBuilds
41- # Host Box
42- pool :
43- vmImage : ' ubuntu-latest'
44- # Docker Images
45- strategy :
46- matrix :
47- ubuntu_20_04 :
48- image : ' tfcollins/libiio_ubuntu_20_04-ci:latest'
49- artifactName : ' Linux-Ubuntu-20.04'
50- ubuntu_22_04 :
51- image : ' tfcollins/libiio_ubuntu_22_04-ci:latest'
52- artifactName : ' Linux-Ubuntu-22.04'
53- ubuntu_24_04 :
54- image : ' tfcollins/libiio_ubuntu_24_04-ci:latest'
55- artifactName : ' Linux-Ubuntu-24.04'
56- fedora28 :
57- image : ' tfcollins/libiio_fedora_28-ci:latest'
58- artifactName : ' Linux-Fedora-28'
59- fedora34 :
60- image : ' tfcollins/libiio_fedora_34-ci:latest'
61- artifactName : ' Linux-Fedora-34'
62- debian_bullseye :
63- image : ' tfcollins/libiio_debian_bullseye-ci:latest'
64- artifactName : ' Linux-Debian-11'
65- debian_bookworm :
66- image : ' tfcollins/libiio_debian_bookworm-ci:latest'
67- artifactName : ' Linux-Debian-12'
68- opensuse_15_4 :
69- image : ' tfcollins/libiio_opensuse_15_4-ci:latest'
70- artifactName : ' Linux-openSUSE-15.4'
71- container : $[ variables['image'] ]
72- steps :
73- - checkout : self
74- fetchDepth : 1
75- clean : true
76- persistCredentials : true
77- - script : |
78- set -e
79- mkdir build && cd build
80- cmake .. -DCMAKE_BUILD_TYPE=$(cmakeBuildType) -Werror=dev -DCOMPILE_WARNING_AS_ERROR=ON -DENABLE_PACKAGING=ON -DCPP_BINDINGS=ON -DWITH_DOC=ON -DWITH_SERIAL_BACKEND=ON -DWITH_MAN=ON -DCPACK_SYSTEM_NAME=${ARTIFACTNAME}
81- make
82- make package
83- make required2tar
84- displayName: 'Build'
85- - script : |
86- set -e
87- mkdir build-examples && cd build-examples
88- cmake .. -DCMAKE_BUILD_TYPE=$(cmakeBuildType) -Werror=dev -DCOMPILE_WARNING_AS_ERROR=ON -DCPP_BINDINGS=ON -DWITH_SERIAL_BACKEND=ON -DWITH_EXAMPLES=ON -DCPP_EXAMPLES=ON
89- make
90- displayName: 'Build with Examples'
91- condition: eq(variables['artifactName'], 'Linux-Ubuntu-24.04')
92- - task : CopyFiles@2
93- inputs :
94- sourceFolder : ' $(Agent.BuildDirectory)/s/build/'
95- contents : ' $(Agent.BuildDirectory)/s/build/?(*.deb|*.gz|*.rpm)'
96- targetFolder : ' $(Build.ArtifactStagingDirectory)'
97- - script : |
98- cd $(Agent.BuildDirectory)/s/build/
99- sh generateDocumentationAndDeploy.sh
100- displayName: 'Documentation'
101- condition: eq(variables['artifactName'], 'Linux-Fedora-34')
102- - script : ./CI/azure/check_kernel.sh
103- displayName : ' Kernel check'
104- condition : and(eq(variables['artifactName'], 'Linux-Ubuntu-22.04'), eq(variables['Build.Reason'], 'PullRequest'))
105- - script : ./CI/azure/check_README_BUILD.sh
106- displayName : ' README_BUILD check'
107- condition : and(eq(variables['artifactName'], 'Linux-Ubuntu-22.04'), eq(variables['Build.Reason'], 'PullRequest'))
108- - task : PublishPipelineArtifact@1
109- inputs :
110- targetPath : ' $(Build.ArtifactStagingDirectory)'
111- artifactName : ' $(artifactName)'
112-
113- # ############################################
114- - job : MinGWBuilds
115- strategy :
116- matrix :
117- MinGW_W64 :
118- COMPILER : ' MinGW Makefiles'
119- artifactName : ' Windows-MinGW-W64'
120- pool :
121- vmImage : ' windows-2022'
122- steps :
123- - checkout : self
124- fetchDepth : 1
125- clean : true
126- - task : UsePythonVersion@0
127- inputs :
128- versionSpec : ' 3.9'
129- - task : PowerShell@2
130- displayName : ' Dependencies'
131- inputs :
132- targetType : inline
133- script : |
134- git submodule update --init
135- $env:PATH += ";C:\msys64\bin;C:\msys64\mingw64\bin;C:\msys64\usr\bin"
136- C:\msys64\usr\bin\bash.exe -c "./CI/azure/build_mingw.sh install_pacman_deps"
137- - task : PowerShell@2
138- inputs :
139- targetType : inline
140- script : |
141- $env:PATH += ";C:\msys64\bin;C:\msys64\mingw64\bin;C:\msys64\usr\bin"
142- mkdir build-mingw
143- cd build-mingw
144- C:\msys64\usr\bin\bash.exe -c "../CI/azure/build_mingw.sh build_libiio"
145- displayName : ' Build'
146- - task : CopyFiles@2
147- displayName : ' Copy .exe files'
148- inputs :
149- sourceFolder : ' $(Agent.BuildDirectory)/s/build-mingw/utils'
150- contents : ' *.exe'
151- targetFolder : ' $(Build.ArtifactStagingDirectory)'
152- - task : CopyFiles@2
153- displayName : ' Copy public headers'
154- inputs :
155- sourceFolder : ' $(Agent.BuildDirectory)/s/include'
156- targetFolder : ' $(Build.ArtifactStagingDirectory)'
157- - task : CopyFiles@2
158- displayName : ' Copy libiio.dll, libiio.dll.a and libiio1.dll'
159- inputs :
160- sourceFolder : ' $(Agent.BuildDirectory)/s/build-mingw'
161- contents : |
162- libiio.dll
163- libiio.dll.a
164- libiio1.dll
165- targetFolder : ' $(Build.ArtifactStagingDirectory)'
166- - task : PowerShell@2
167- displayName : ' Copy dependencies'
168- inputs :
169- targetType : ' filePath'
170- filePath : .\CI\publish_deps.ps1
171- - task : PublishPipelineArtifact@1
172- inputs :
173- targetPath : ' $(Build.ArtifactStagingDirectory)'
174- artifactName : ' $(artifactName)'
175-
176- # ############################################
17740 - job : WindowsBuilds
17841 # Host Box
17942 strategy :
@@ -260,175 +123,6 @@ stages:
260123 inputs :
261124 targetPath : ' $(Build.ArtifactStagingDirectory)'
262125 artifactName : ' Libiio-Setup-Exe'
263-
264- # ############################################
265- - job : macOSBuilds
266- # Host Box
267- workspace :
268- clean : all
269- strategy :
270- matrix :
271- macOS_15_x64 :
272- poolName : ' Azure Pipelines'
273- vmImage : ' macOS-15'
274- agentName : ' Azure Pipelines 11'
275- artifactName : ' macOS-15-x64'
276- macOS_14_x64 :
277- poolName : ' Azure Pipelines'
278- vmImage : ' macOS-14'
279- agentName : ' Azure Pipelines 3'
280- artifactName : ' macOS-14-x64'
281- macOS_13_arm64 :
282- poolName : ' Default'
283- vmImage :
284- agentName : ' miniMAC_arm64'
285- artifactName : ' macOS-13-arm64'
286- pool :
287- name : $(poolName)
288- vmImage : $(vmImage)
289- demands :
290- - agent.name -equals $(agentName)
291- steps :
292- - checkout : self
293- fetchDepth : 1
294- clean : true
295- - task : UsePythonVersion@0
296- condition : ne(variables['agentName'],'miniMAC_arm64')
297- inputs :
298- versionSpec : ' 3.x'
299- addToPath : true
300- - script : |
301- set -e
302- brew install doxygen libusb libxml2 ncurses cdk libserialport sphinx-doc pkg-config zstd
303- pip3 install sphinx setuptools
304- displayName: 'Dependencies'
305- condition: ne(variables['agentName'],'miniMAC_arm64')
306- - script : |
307- set -e
308- mkdir build && cd build
309- cmake .. -DCMAKE_BUILD_TYPE=$(cmakeBuildType) -Werror=dev -DCOMPILE_WARNING_AS_ERROR=ON -DOSX_PACKAGE=ON -DWITH_EXAMPLES=ON -DWITH_SERIAL_BACKEND=ON
310- make
311- sudo make install
312- cd ..
313- displayName: 'Build'
314- - script : |
315- set -e
316- mkdir build_tar && cd build_tar
317- cmake .. -DCMAKE_BUILD_TYPE=$(cmakeBuildType) -Werror=dev -DCOMPILE_WARNING_AS_ERROR=ON -DOSX_PACKAGE=OFF -DENABLE_PACKAGING=ON -DWITH_SERIAL_BACKEND=ON -DCPACK_SYSTEM_NAME=${ARTIFACTNAME}
318- make
319- make package
320- mv ../CI/azure/macos_tar_fixup.sh .
321- chmod +x macos_tar_fixup.sh
322- ./macos_tar_fixup.sh
323- cd ..
324- displayName: 'Build tar'
325- - script : |
326- set -e
327- cd build
328- cmake .. -DCMAKE_BUILD_TYPE=$(cmakeBuildType) -Werror=dev -DCOMPILE_WARNING_AS_ERROR=ON -DWITH_DOC=ON -DWITH_SERIAL_BACKEND=ON
329- make
330- cd ..
331- displayName: 'Build With Doc'
332- - task : CopyFiles@2
333- inputs :
334- sourceFolder : ' $(Agent.BuildDirectory)/s/build/'
335- contents : ' $(Agent.BuildDirectory)/s/build/?(*.pkg)'
336- targetFolder : ' $(Build.ArtifactStagingDirectory)'
337- - task : CopyFiles@2
338- inputs :
339- sourceFolder : ' $(Agent.BuildDirectory)/s/build_tar/'
340- contents : ' $(Agent.BuildDirectory)/s/build_tar/?(*.gz)'
341- targetFolder : ' $(Build.ArtifactStagingDirectory)'
342- - task : PublishPipelineArtifact@1
343- inputs :
344- targetPath : ' $(Build.ArtifactStagingDirectory)'
345- artifactName : ' $(artifactName)'
346-
347- # ############################################
348- - job : ARMBuilds
349- # Host Box
350- pool :
351- vmImage : " ubuntu-latest"
352- # Docker Images
353- strategy :
354- matrix :
355- ubuntu-ppc64le :
356- image : tfcollins/libiio_ubuntu_20_04-ci-arm-ppc:latest
357- arch : ppc64le
358- build_script : ci-ubuntu.sh
359- artifactName : ' Ubuntu-ppc64le'
360- ubuntu-x390x :
361- image : tfcollins/libiio_ubuntu_20_04-ci-arm-ppc:latest
362- arch : s390x
363- build_script : ci-ubuntu.sh
364- artifactName : ' Ubuntu-x390x'
365- ubuntu-arm64v8 :
366- image : tfcollins/libiio_ubuntu_20_04-ci-arm-ppc:latest
367- arch : aarch64
368- build_script : ci-ubuntu.sh
369- artifactName : ' Ubuntu-arm64v8'
370- ubuntu-arm32v7 :
371- image : tfcollins/libiio_ubuntu_20_04-ci-arm-ppc:latest
372- arch : arm
373- build_script : ci-ubuntu.sh
374- artifactName : ' Ubuntu-arm32v7'
375- debian_bookworm :
376- image : tfcollins/libiio_debian_bookworm-ci-arm-ppc:latest
377- arch : arm
378- build_script : ci-ubuntu.sh
379- artifactName : ' Debian12-arm'
380- steps :
381- - script : |
382- set -e
383- sudo apt-get update
384- sudo apt-get install -y qemu-system-ppc64
385- sudo apt-get install qemu-user-static
386- sudo sysctl kernel.randomize_va_space=0
387- sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
388- displayName: 'Setup'
389- - script : |
390- set -e
391- sudo docker run --platform "linux/$(arch)" --rm -t --privileged -e ARTIFACTNAME=$(artifactName) -e CMAKE_BUILD_TYPE=$(cmakeBuildType) -v "$(Agent.BuildDirectory)/s":"/ci" -v "/usr/bin/qemu-$(arch)-static":"/usr/bin/qemu-$(arch)-static" "$(image)" /bin/bash -c "cd /ci/ && chmod +x ./CI/azure/$(build_script) && ./CI/azure/$(build_script)"
392- displayName: 'Build'
393- - task : CopyFiles@2
394- inputs :
395- sourceFolder : ' $(Agent.BuildDirectory)/s/build/'
396- contents : ' $(Agent.BuildDirectory)/s/build/?(*.deb|*.gz)'
397- targetFolder : ' $(Build.ArtifactStagingDirectory)'
398- - task : PublishPipelineArtifact@1
399- inputs :
400- targetPath : ' $(Build.ArtifactStagingDirectory)'
401- artifactName : ' $(artifactName)'
402-
403- # ############################################
404- - job : MCUsBuilds
405- # Host Box
406- pool :
407- vmImage : ' ubuntu-latest'
408- # Docker Images
409- strategy :
410- matrix :
411- ubuntu_22_04 :
412- image : ' tfcollins/libiio_ubuntu_22_04-ci:latest'
413- artifactName : ' MCU-ARM-Cortex-M4'
414- container : $[ variables['image'] ]
415- steps :
416- - checkout : self
417- fetchDepth : 1
418- clean : true
419- persistCredentials : true
420- - script : |
421- set -e
422- sudo apt-get update
423- sudo apt-get install -y gcc-arm-none-eabi
424- displayName: 'Setup'
425- - script : |
426- set -e
427- mkdir build && cd build
428- cmake .. -DCMAKE_BUILD_TYPE=$(cmakeBuildType) -DCMAKE_SYSTEM_PROCESSOR=cortex-m4 -DCMAKE_TOOLCHAIN_FILE=../cmake/arm-cross-compile.cmake -DWITH_LIBTINYIIOD=ON
429- make
430- displayName: 'Build'
431-
432126 # ############################################
433127- stage : ManageArtifacts
434128 dependsOn : Builds
0 commit comments