---
kind: pipeline
+name: arm32_gcc_make
+
+platform:
+ os: linux
+ arch: arm64
+
+steps:
+- name: Build and Test
+ image: ubuntu:18.04
+ environment:
+ CC: gcc
+ COMMON_FLAGS: 'DYNAMIC_ARCH=1 TARGET=ARMV6 NUM_THREADS=32'
+ commands:
+ - echo "MAKE_FLAGS:= $COMMON_FLAGS"
+ - apt-get update -y
+ - apt-get install -y make $CC gfortran perl
+ - $CC --version
+ - make QUIET_MAKE=1 $COMMON_FLAGS
+ - make -C test $COMMON_FLAGS
+ - make -C ctest $COMMON_FLAGS
+ - make -C utest $COMMON_FLAGS
+
+---
+kind: pipeline
name: arm64_clang_make
platform:
---
kind: pipeline
+name: arm32_clang_cmake
+
+platform:
+ os: linux
+ arch: arm
+
+steps:
+- name: Build and Test
+ image: ubuntu:18.04
+ environment:
+ CC: clang
+ CMAKE_FLAGS: '-DDYNAMIC_ARCH=1 -DTARGET=ARMV6 -DNUM_THREADS=32 -DNOFORTRAN=ON -DBUILD_WITHOUT_LAPACK=ON'
+ commands:
+ - echo "CMAKE_FLAGS:= $CMAKE_FLAGS"
+ - apt-get update -y
+ - apt-get install -y make $CC g++ perl cmake
+ - $CC --version
+ - mkdir build && cd build
+ - cmake $CMAKE_FLAGS ..
+ - make -j
+ - ctest
+
+---
+kind: pipeline
name: arm64_gcc_cmake
platform:
env:
- BTYPE="BINARY=32"
- - &emulated-arm
- dist: trusty
- sudo: required
- services: docker
- env: IMAGE_ARCH=arm32 TARGET_ARCH=ARMV6 COMPILER=clang
- name: "Emulated Build for ARMV6 with clang"
- before_install: sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
- script: |
- echo "FROM openblas/alpine:${IMAGE_ARCH}
- COPY . /tmp/openblas
- RUN mkdir /tmp/openblas/build && \
- cd /tmp/openblas/build && \
- CC=${COMPILER} cmake -D DYNAMIC_ARCH=OFF \
- -D TARGET=${TARGET_ARCH} \
- -D BUILD_SHARED_LIBS=ON \
- -D BUILD_WITHOUT_LAPACK=ON \
- -D BUILD_WITHOUT_CBLAS=ON \
- -D CMAKE_BUILD_TYPE=Release ../ && \
- cmake --build ." > Dockerfile
- docker build .
-
# whitelist
branches:
only:
- develop
jobs:
-- job: ARMv6_gcc
- pool:
- vmImage: 'ubuntu-16.04'
- steps:
- - script: |
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
- echo "FROM openblas/alpine:arm32
- COPY . /tmp/openblas
- RUN mkdir /tmp/openblas/build && \
- cd /tmp/openblas/build && \
- CC=gcc cmake -D DYNAMIC_ARCH=OFF \
- -D TARGET=ARMV6 \
- -D NOFORTRAN=ON \
- -D BUILD_SHARED_LIBS=ON \
- -D BUILD_WITHOUT_LAPACK=ON \
- -D BUILD_WITHOUT_CBLAS=ON \
- -D CMAKE_BUILD_TYPE=Release ../ && \
- cmake --build ." > Dockerfile
- docker build .
- displayName: Run ARMV6 docker build
# manylinux1 is useful to test because the
# standard Docker container uses an old version
# of gcc / glibc