Skip to content

Commit 8b9f70e

Browse files
committed
azure-pipelines.yml: add new builds for Linux system
Signed-off-by: Andreea Andrisan <Andreea.Andrisan@analog.com> (cherry picked from commit 1a0c370)
1 parent ee2369d commit 8b9f70e

File tree

2 files changed

+92
-9
lines changed

2 files changed

+92
-9
lines changed

CI/travis/ci-linux.sh

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/bin/bash
2+
3+
set -x
4+
5+
handle_centos() {
6+
local package=$1
7+
yum -y install yum-utils gcc
8+
yum config-manager --set-enabled powertools
9+
yum localinstall -y $package
10+
export CMAKE_OPTIONS="-DPYTHON_BINDINGS=ON -DENABLE_PACKAGING=ON .."
11+
export LD_LIBRARY_PATH=/usr/local/lib64/
12+
}
13+
14+
handle_default() {
15+
local package=$1
16+
DEBIAN_FRONTEND=noninteractive apt-get install -y rpm
17+
sudo dpkg -i $package
18+
export CMAKE_OPTIONS="-DPYTHON_BINDINGS=ON -DENABLE_PACKAGING=ON -DDEB_DETECT_DEPENDENCIES=ON .."
19+
}
20+
21+
handle_opensuse() {
22+
local package=$1
23+
zypper in -y --allow-unsigned-rpm $package
24+
export CMAKE_OPTIONS="-DPYTHON_BINDINGS=ON -DENABLE_PACKAGING=ON .."
25+
}
26+
27+
handle_"$1" "$2"
28+
29+
python3 -m pip install pylibiio --no-binary :all:
30+
# Build project
31+
mkdir -p build
32+
cd build
33+
cmake $CMAKE_OPTIONS
34+
sudo make && sudo make package && make test
35+
sudo make install
36+
ldconfig
37+
cd ..
38+
cd bindings/python
39+
pip install -r requirements_dev.txt
40+
python3 -m pip install pytest
41+
python3 -m pytest -vs --skip-scan

azure-pipelines.yml

Lines changed: 51 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,22 +33,64 @@ pr:
3333

3434
jobs:
3535
- job: LinuxBuilds
36+
pool:
37+
vmImage: 'ubuntu-latest'
3638
strategy:
3739
matrix:
40+
ubuntu_18_04_x86_64:
41+
image: 'tfcollins/libiio_ubuntu_18_04-ci:latest'
42+
artifactName: 'Linux-Ubuntu-18.04'
43+
build_script: ci-linux.sh
44+
OS_TYPE: default
45+
PACKAGE_TO_INSTALL: '/ci/build/*.deb'
3846
ubuntu_20_04_x86_64:
3947
image: 'tfcollins/libiio_ubuntu_20_04-ci:latest'
4048
artifactName: 'Linux-Ubuntu-20.04'
41-
build_script: ci-debian.sh
49+
build_script: ci-linux.sh
50+
OS_TYPE: default
51+
PACKAGE_TO_INSTALL: '/ci/build/*.deb'
4252
ubuntu_22_04_x86_64:
4353
image: 'tfcollins/libiio_ubuntu_22_04-ci:latest'
4454
artifactName: 'Linux-Ubuntu-22.04'
45-
build_script: ci-debian.sh
55+
build_script: ci-linux.sh
56+
OS_TYPE: default
57+
PACKAGE_TO_INSTALL: '/ci/build/*.deb'
4658
debian_bullseye:
4759
image: 'tfcollins/libiio_debian_bullseye-ci:latest'
4860
artifactName: 'Linux-Debian-11'
49-
build_script: ci-debian.sh
50-
pool:
51-
vmImage: 'ubuntu-latest'
61+
build_script: ci-linux.sh
62+
OS_TYPE: default
63+
PACKAGE_TO_INSTALL: '/ci/build/*.deb'
64+
debian_bookworm:
65+
image: 'tfcollins/libiio_debian_bookworm-ci:latest'
66+
artifactName: 'Linux-Debian-12'
67+
build_script: ci-linux.sh
68+
OS_TYPE: default
69+
PACKAGE_TO_INSTALL: '/ci/build/*.deb'
70+
centos_7:
71+
image: 'tfcollins/libiio_centos_7-ci:latest'
72+
artifactName: 'Linux-CentOS-7'
73+
build_script: ci-linux.sh
74+
OS_TYPE: centos
75+
PACKAGE_TO_INSTALL: '/ci/build/*.rpm'
76+
fedora28:
77+
image: 'tfcollins/libiio_fedora_28-ci:latest'
78+
artifactName: 'Linux-Fedora-28'
79+
build_script: ci-linux.sh
80+
OS_TYPE: centos
81+
PACKAGE_TO_INSTALL: '/ci/build/*.rpm'
82+
fedora34:
83+
image: 'tfcollins/libiio_fedora_34-ci:latest'
84+
artifactName: 'Linux-Fedora-34'
85+
build_script: ci-linux.sh
86+
OS_TYPE: centos
87+
PACKAGE_TO_INSTALL: '/ci/build/*.rpm'
88+
opensuse_15_4:
89+
image: 'tfcollins/libiio_opensuse_15_4-ci:latest'
90+
artifactName: 'Linux-openSUSE-15.4'
91+
build_script: ci-linux.sh
92+
OS_TYPE: opensuse
93+
PACKAGE_TO_INSTALL: '/ci/build/*.rpm'
5294
steps:
5395
- checkout: self
5496
fetchDepth: 1
@@ -64,7 +106,7 @@ jobs:
64106
path: '$(Agent.BuildDirectory)/s/build/'
65107
- script: |
66108
set -e
67-
sudo docker run --rm -t --privileged -e ARTIFACTNAME=$(artifactName) -v "$(Agent.BuildDirectory)/s":"/ci" "$(image)" /bin/bash -c "cd /ci/ && chmod +x ./CI/travis/$(build_script) && ./CI/travis/$(build_script)"
109+
sudo docker run --rm -t --privileged -e ARTIFACTNAME=$(artifactName) -v "$(Agent.BuildDirectory)/s":"/ci" "$(image)" /bin/bash -c "cd /ci/ && chmod +x ./CI/travis/$(build_script) && ./CI/travis/$(build_script) $(OS_TYPE) $(PACKAGE_TO_INSTALL)"
68110
displayName: "Build"
69111
- task: CopyFiles@2
70112
inputs:
@@ -89,7 +131,7 @@ jobs:
89131
artifactFeed: libad9361-iio
90132
pythonUploadServiceConnection: PyPi
91133
- task: TwineAuthenticate@1
92-
condition: and(succeeded(), variables.isMain, eq(variables['artifactName'], 'Linux-Ubuntu-20.04'))
134+
condition: and(succeeded(), eq(variables.isMain, true), eq(variables['artifactName'], 'Linux-Ubuntu-20.04'))
93135
displayName: Twine Authenticate
94136
inputs:
95137
artifactFeed: test-libad9361-iio
@@ -109,12 +151,12 @@ jobs:
109151
ls -al
110152
cd dist
111153
ls -al
112-
condition: and(succeeded(), variables.isMain, eq(variables['artifactName'], 'Linux-Ubuntu-20.04'))
154+
condition: and(succeeded(), eq(variables.isMain, true), eq(variables['artifactName'], 'Linux-Ubuntu-20.04'))
113155
displayName: "Update to dev version"
114156
- script: |
115157
cd /home/vsts/work/1/s/build/bindings/python
116158
sudo python -m twine upload --repository-url https://test.pypi.org/legacy/ -u $(USERNAME) -p $(PASSWORD) --skip-existing --config-file $(PYPIRC_PATH) dist/*.whl
117-
condition: and(succeeded(), variables.isMain, eq(variables['artifactName'], 'Linux-Ubuntu-20.04'))
159+
condition: and(succeeded(), eq(variables.isMain, true), eq(variables['artifactName'], 'Linux-Ubuntu-20.04'))
118160
displayName: "Deploy python test package"
119161
120162
- job: ARMBuilds

0 commit comments

Comments
 (0)