Skip to content

Commit 1a0c370

Browse files
committed
azure-pipelines.yml: add new builds for Linux system
Signed-off-by: Andreea Andrisan <Andreea.Andrisan@analog.com>
1 parent a763a8d commit 1a0c370

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
@@ -35,22 +35,64 @@ pr:
3535

3636
jobs:
3737
- job: LinuxBuilds
38+
pool:
39+
vmImage: 'ubuntu-latest'
3840
strategy:
3941
matrix:
42+
ubuntu_18_04_x86_64:
43+
image: 'tfcollins/libiio_ubuntu_18_04-ci:latest'
44+
artifactName: 'Linux-Ubuntu-18.04'
45+
build_script: ci-linux.sh
46+
OS_TYPE: default
47+
PACKAGE_TO_INSTALL: '/ci/build/*.deb'
4048
ubuntu_20_04_x86_64:
4149
image: 'tfcollins/libiio_ubuntu_20_04-ci:latest'
4250
artifactName: 'Linux-Ubuntu-20.04'
43-
build_script: ci-debian.sh
51+
build_script: ci-linux.sh
52+
OS_TYPE: default
53+
PACKAGE_TO_INSTALL: '/ci/build/*.deb'
4454
ubuntu_22_04_x86_64:
4555
image: 'tfcollins/libiio_ubuntu_22_04-ci:latest'
4656
artifactName: 'Linux-Ubuntu-22.04'
47-
build_script: ci-debian.sh
57+
build_script: ci-linux.sh
58+
OS_TYPE: default
59+
PACKAGE_TO_INSTALL: '/ci/build/*.deb'
4860
debian_bullseye:
4961
image: 'tfcollins/libiio_debian_bullseye-ci:latest'
5062
artifactName: 'Linux-Debian-11'
51-
build_script: ci-debian.sh
52-
pool:
53-
vmImage: 'ubuntu-latest'
63+
build_script: ci-linux.sh
64+
OS_TYPE: default
65+
PACKAGE_TO_INSTALL: '/ci/build/*.deb'
66+
debian_bookworm:
67+
image: 'tfcollins/libiio_debian_bookworm-ci:latest'
68+
artifactName: 'Linux-Debian-12'
69+
build_script: ci-linux.sh
70+
OS_TYPE: default
71+
PACKAGE_TO_INSTALL: '/ci/build/*.deb'
72+
centos_7:
73+
image: 'tfcollins/libiio_centos_7-ci:latest'
74+
artifactName: 'Linux-CentOS-7'
75+
build_script: ci-linux.sh
76+
OS_TYPE: centos
77+
PACKAGE_TO_INSTALL: '/ci/build/*.rpm'
78+
fedora28:
79+
image: 'tfcollins/libiio_fedora_28-ci:latest'
80+
artifactName: 'Linux-Fedora-28'
81+
build_script: ci-linux.sh
82+
OS_TYPE: centos
83+
PACKAGE_TO_INSTALL: '/ci/build/*.rpm'
84+
fedora34:
85+
image: 'tfcollins/libiio_fedora_34-ci:latest'
86+
artifactName: 'Linux-Fedora-34'
87+
build_script: ci-linux.sh
88+
OS_TYPE: centos
89+
PACKAGE_TO_INSTALL: '/ci/build/*.rpm'
90+
opensuse_15_4:
91+
image: 'tfcollins/libiio_opensuse_15_4-ci:latest'
92+
artifactName: 'Linux-openSUSE-15.4'
93+
build_script: ci-linux.sh
94+
OS_TYPE: opensuse
95+
PACKAGE_TO_INSTALL: '/ci/build/*.rpm'
5496
steps:
5597
- checkout: self
5698
fetchDepth: 1
@@ -66,7 +108,7 @@ jobs:
66108
path: '$(Agent.BuildDirectory)/s/build/'
67109
- script: |
68110
set -e
69-
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)"
111+
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)"
70112
displayName: "Build"
71113
- task: CopyFiles@2
72114
inputs:
@@ -91,7 +133,7 @@ jobs:
91133
artifactFeed: libad9361-iio
92134
pythonUploadServiceConnection: PyPi
93135
- task: TwineAuthenticate@1
94-
condition: and(succeeded(), variables.isMain, eq(variables['artifactName'], 'Linux-Ubuntu-20.04'))
136+
condition: and(succeeded(), eq(variables.isMain, true), eq(variables['artifactName'], 'Linux-Ubuntu-20.04'))
95137
displayName: Twine Authenticate
96138
inputs:
97139
artifactFeed: test-libad9361-iio
@@ -111,12 +153,12 @@ jobs:
111153
ls -al
112154
cd dist
113155
ls -al
114-
condition: and(succeeded(), variables.isMain, eq(variables['artifactName'], 'Linux-Ubuntu-20.04'))
156+
condition: and(succeeded(), eq(variables.isMain, true), eq(variables['artifactName'], 'Linux-Ubuntu-20.04'))
115157
displayName: "Update to dev version"
116158
- script: |
117159
cd /home/vsts/work/1/s/build/bindings/python
118160
sudo python -m twine upload --repository-url https://test.pypi.org/legacy/ -u $(USERNAME) -p $(PASSWORD) --skip-existing --config-file $(PYPIRC_PATH) dist/*.whl
119-
condition: and(succeeded(), variables.isMain, eq(variables['artifactName'], 'Linux-Ubuntu-20.04'))
161+
condition: and(succeeded(), eq(variables.isMain, true), eq(variables['artifactName'], 'Linux-Ubuntu-20.04'))
120162
displayName: "Deploy python test package"
121163
122164
- job: ARMBuilds

0 commit comments

Comments
 (0)