-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
64 lines (60 loc) · 2.51 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Copyright (c) 2018-2024, Intel Corporation
#
# SPDX-License-Identifier: BSD-3-Clause
# Author: Dmitry Babokin
# "minimal" instead of "cpp", because of https://github.com/travis-ci/travis-ci/issues/8363
# Otherwise during python invocation PATH is prepended by /usr/bin and it yields wrong llvm-as.
language: minimal
sudo: required
# Note, global env variables are not used, even though they would make sense, because they appear first in
# web view and hide matrix env variables.
jobs:
include:
# ARM build
# LLVM 17.0 + Ubuntu 18.04:
# - ARM only (default): build, lit tests, examples (build)
# - ARM + x86: build, lit tests, examples (build), tests (aarch64)
- stage: test
os: linux
arch: arm64
dist: bionic
env:
- LLVM_VERSION=17.0 OS=Ubuntu18.04aarch64
- LLVM_TAR=llvm-17.0.6-ubuntu18.04aarch64-Release+Asserts-x86.arm.wasm.tar.xz
- LLVM_REPO=https://github.com/ispc/ispc.dependencies
- ISPC_HOME=$TRAVIS_BUILD_DIR
before_install:
- cat /proc/cpuinfo
- sudo apt-get update
- dpkg --print-architecture
- dpkg --print-foreign-architectures
- sudo apt-get install flex libc6-dev libc6-dev-armhf-cross libc6-dev-i386-cross libc6-dev-i386-amd64-cross libtbb-dev
- find /usr -name cdefs.h
- if [[ "${TRAVIS_CPU_ARCH}" == "arm64" ]]; then
sudo apt-get install libuv1 rhash libstdc++6;
wget https://anaconda.org/conda-forge/cmake/3.17.0/download/linux-aarch64/cmake-3.17.0-h28c56e5_0.tar.bz2;
mkdir $HOME/cmake;
tar -xjvf cmake-3.17.0-h28c56e5_0.tar.bz2 -C $HOME/cmake;
export PATH=$HOME/cmake/bin:$PATH;
fi
- wget $LLVM_REPO/releases/download/llvm-$LLVM_VERSION-ispc-dev/$LLVM_TAR
- tar xvf $LLVM_TAR
- export PATH=`pwd`/bin-$LLVM_VERSION/bin:$PATH
script:
# "Native-only" build (i.e. only arm and aarch64 are supported).
- mkdir build-arm && cd build-arm
- cmake .. -DCMAKE_CXX_FLAGS="-Werror"
- make -j`nproc`
- make check-all
- bin/ispc --support-matrix
# Cross build (x86, x86-64, arm, aarch64 are supported, Linux only).
- cd ..
- mkdir build-all && cd build-all
- cmake .. -DX86_ENABLED=ON -DCMAKE_CXX_FLAGS="-Werror"
- make -j`nproc`
- make check-all
- bin/ispc --support-matrix
- cp bin/ispc ..
- cd ..
- export ISPC_HOME=`pwd`
- ./run_tests.py --arch=aarch64 --target=neon-i32x4