Skip to content

Commit 9208ab8

Browse files
authored
Merge pull request #2130 from isuruf/drone
Drone CI for arm64 native builds
2 parents 63554d5 + b43deb4 commit 9208ab8

File tree

3 files changed

+143
-68
lines changed

3 files changed

+143
-68
lines changed

.drone.yml

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
---
2+
kind: pipeline
3+
name: arm64_gcc_make
4+
5+
platform:
6+
os: linux
7+
arch: arm64
8+
9+
steps:
10+
- name: Build and Test
11+
image: ubuntu:19.04
12+
environment:
13+
CC: gcc
14+
COMMON_FLAGS: 'DYNAMIC_ARCH=1 TARGET=ARMV8 NUM_THREADS=32'
15+
commands:
16+
- echo "MAKE_FLAGS:= $COMMON_FLAGS"
17+
- apt-get update -y
18+
- apt-get install -y make $CC gfortran perl
19+
- $CC --version
20+
- make QUIET_MAKE=1 $COMMON_FLAGS
21+
- make -C test $COMMON_FLAGS
22+
- make -C ctest $COMMON_FLAGS
23+
- make -C utest $COMMON_FLAGS
24+
25+
---
26+
kind: pipeline
27+
name: arm32_gcc_make
28+
29+
platform:
30+
os: linux
31+
arch: arm
32+
33+
steps:
34+
- name: Build and Test
35+
image: ubuntu:19.04
36+
environment:
37+
CC: gcc
38+
COMMON_FLAGS: 'DYNAMIC_ARCH=1 TARGET=ARMV6 NUM_THREADS=32'
39+
commands:
40+
- echo "MAKE_FLAGS:= $COMMON_FLAGS"
41+
- apt-get update -y
42+
- apt-get install -y make $CC gfortran perl
43+
- $CC --version
44+
- make QUIET_MAKE=1 $COMMON_FLAGS
45+
- make -C test $COMMON_FLAGS
46+
- make -C ctest $COMMON_FLAGS
47+
- make -C utest $COMMON_FLAGS
48+
49+
---
50+
kind: pipeline
51+
name: arm64_clang_make
52+
53+
platform:
54+
os: linux
55+
arch: arm64
56+
57+
steps:
58+
- name: Build and Test
59+
image: ubuntu:18.04
60+
environment:
61+
CC: clang
62+
COMMON_FLAGS: 'DYNAMIC_ARCH=1 TARGET=ARMV8 NUM_THREADS=32'
63+
commands:
64+
- echo "MAKE_FLAGS:= $COMMON_FLAGS"
65+
- apt-get update -y
66+
- apt-get install -y make $CC gfortran perl
67+
- $CC --version
68+
- make QUIET_MAKE=1 $COMMON_FLAGS
69+
- make -C test $COMMON_FLAGS
70+
- make -C ctest $COMMON_FLAGS
71+
- make -C utest $COMMON_FLAGS
72+
73+
---
74+
kind: pipeline
75+
name: arm32_clang_cmake
76+
77+
platform:
78+
os: linux
79+
arch: arm
80+
81+
steps:
82+
- name: Build and Test
83+
image: ubuntu:18.04
84+
environment:
85+
CC: clang
86+
CMAKE_FLAGS: '-DDYNAMIC_ARCH=1 -DTARGET=ARMV6 -DNUM_THREADS=32 -DNOFORTRAN=ON -DBUILD_WITHOUT_LAPACK=ON'
87+
commands:
88+
- echo "CMAKE_FLAGS:= $CMAKE_FLAGS"
89+
- apt-get update -y
90+
- apt-get install -y make $CC g++ perl cmake
91+
- $CC --version
92+
- mkdir build && cd build
93+
- cmake $CMAKE_FLAGS ..
94+
- make -j
95+
- ctest
96+
97+
---
98+
kind: pipeline
99+
name: arm64_gcc_cmake
100+
101+
platform:
102+
os: linux
103+
arch: arm64
104+
105+
steps:
106+
- name: Build and Test
107+
image: ubuntu:18.04
108+
environment:
109+
CC: gcc
110+
CMAKE_FLAGS: '-DDYNAMIC_ARCH=1 -DTARGET=ARMV8 -DNUM_THREADS=32 -DNOFORTRAN=ON -DBUILD_WITHOUT_LAPACK=ON'
111+
commands:
112+
- echo "CMAKE_FLAGS:= $CMAKE_FLAGS"
113+
- apt-get update -y
114+
- apt-get install -y make $CC g++ perl cmake
115+
- $CC --version
116+
- mkdir build && cd build
117+
- cmake $CMAKE_FLAGS ..
118+
- make -j
119+
- ctest
120+
121+
---
122+
kind: pipeline
123+
name: arm64_clang_cmake
124+
125+
platform:
126+
os: linux
127+
arch: arm64
128+
129+
steps:
130+
- name: Build and Test
131+
image: ubuntu:18.04
132+
environment:
133+
CC: clang
134+
CMAKE_FLAGS: '-DDYNAMIC_ARCH=1 -DTARGET=ARMV8 -DNUM_THREADS=32 -DNOFORTRAN=ON -DBUILD_WITHOUT_LAPACK=ON'
135+
commands:
136+
- echo "CMAKE_FLAGS:= $CMAKE_FLAGS"
137+
- apt-get update -y
138+
- apt-get install -y make $CC g++ perl cmake
139+
- $CC --version
140+
- mkdir build && cd build
141+
- cmake $CMAKE_FLAGS ..
142+
- make -j
143+
- ctest

.travis.yml

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -173,34 +173,6 @@ matrix:
173173
env:
174174
- BTYPE="BINARY=32"
175175

176-
- &emulated-arm
177-
dist: trusty
178-
sudo: required
179-
services: docker
180-
env: IMAGE_ARCH=arm32 TARGET_ARCH=ARMV6 COMPILER=clang
181-
name: "Emulated Build for ARMV6 with clang"
182-
before_install: sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
183-
script: |
184-
echo "FROM openblas/alpine:${IMAGE_ARCH}
185-
COPY . /tmp/openblas
186-
RUN mkdir /tmp/openblas/build && \
187-
cd /tmp/openblas/build && \
188-
CC=${COMPILER} cmake -D DYNAMIC_ARCH=OFF \
189-
-D TARGET=${TARGET_ARCH} \
190-
-D BUILD_SHARED_LIBS=ON \
191-
-D BUILD_WITHOUT_LAPACK=ON \
192-
-D BUILD_WITHOUT_CBLAS=ON \
193-
-D CMAKE_BUILD_TYPE=Release ../ && \
194-
cmake --build ." > Dockerfile
195-
docker build .
196-
- <<: *emulated-arm
197-
env: IMAGE_ARCH=arm64 TARGET_ARCH=ARMV8 COMPILER=clang
198-
name: "Emulated Build for ARMV8 with clang"
199-
200-
allow_failures:
201-
- env: IMAGE_ARCH=arm32 TARGET_ARCH=ARMV6 COMPILER=clang
202-
- env: IMAGE_ARCH=arm64 TARGET_ARCH=ARMV8 COMPILER=clang
203-
204176
# whitelist
205177
branches:
206178
only:

azure-pipelines.yml

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -6,46 +6,6 @@ trigger:
66
- develop
77

88
jobs:
9-
- job: ARMv6_gcc
10-
pool:
11-
vmImage: 'ubuntu-16.04'
12-
steps:
13-
- script: |
14-
docker run --rm --privileged multiarch/qemu-user-static:register --reset
15-
echo "FROM openblas/alpine:arm32
16-
COPY . /tmp/openblas
17-
RUN mkdir /tmp/openblas/build && \
18-
cd /tmp/openblas/build && \
19-
CC=gcc cmake -D DYNAMIC_ARCH=OFF \
20-
-D TARGET=ARMV6 \
21-
-D NOFORTRAN=ON \
22-
-D BUILD_SHARED_LIBS=ON \
23-
-D BUILD_WITHOUT_LAPACK=ON \
24-
-D BUILD_WITHOUT_CBLAS=ON \
25-
-D CMAKE_BUILD_TYPE=Release ../ && \
26-
cmake --build ." > Dockerfile
27-
docker build .
28-
displayName: Run ARMV6 docker build
29-
- job: ARMv8_gcc
30-
pool:
31-
vmImage: 'ubuntu-16.04'
32-
steps:
33-
- script: |
34-
docker run --rm --privileged multiarch/qemu-user-static:register --reset
35-
echo "FROM openblas/alpine:arm64
36-
COPY . /tmp/openblas
37-
RUN mkdir /tmp/openblas/build && \
38-
cd /tmp/openblas/build && \
39-
CC=gcc cmake -D DYNAMIC_ARCH=OFF \
40-
-D TARGET=ARMV8 \
41-
-D NOFORTRAN=ON \
42-
-D BUILD_SHARED_LIBS=ON \
43-
-D BUILD_WITHOUT_LAPACK=ON \
44-
-D BUILD_WITHOUT_CBLAS=ON \
45-
-D CMAKE_BUILD_TYPE=Release ../ && \
46-
cmake --build ." > Dockerfile
47-
docker build .
48-
displayName: Run ARMV8 docker build
499
# manylinux1 is useful to test because the
5010
# standard Docker container uses an old version
5111
# of gcc / glibc

0 commit comments

Comments
 (0)