Skip to content

Commit 7d41290

Browse files
committed
[LDC] Add Travis CI for Linux AArch64
1 parent 84f89d4 commit 7d41290

File tree

1 file changed

+102
-0
lines changed

1 file changed

+102
-0
lines changed

.travis.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
language: cpp
2+
3+
git:
4+
depth: 50
5+
6+
os: linux
7+
arch: arm64-graviton2
8+
group: edge
9+
virt: lxd
10+
dist: xenial
11+
addons:
12+
apt:
13+
sources:
14+
- ubuntu-toolchain-r-test
15+
packages:
16+
- git-core
17+
- cmake
18+
- ninja-build
19+
- g++-9
20+
- binutils-dev
21+
- python
22+
- p7zip-full
23+
24+
jobs:
25+
include:
26+
- env: LLVM_ENABLE_ASSERTIONS=ON
27+
- env: LLVM_ENABLE_ASSERTIONS=OFF
28+
29+
script:
30+
# Build & install LLVM incl. LLD, compiler-rt and the Khronos SPIRV-LLVM-Translator
31+
- nproc
32+
- free
33+
- export CC=gcc-9
34+
- export CXX=g++-9
35+
- cmake --version
36+
- ninja --version
37+
- mkdir build
38+
- cd build
39+
- |
40+
cmake -G Ninja ../llvm \
41+
-DCMAKE_BUILD_TYPE=Release \
42+
-DCMAKE_INSTALL_PREFIX=$PWD/../install \
43+
-DLLVM_ENABLE_PROJECTS='compiler-rt;lld' \
44+
-DLLVM_TARGETS_TO_BUILD='AArch64;ARM;WebAssembly' \
45+
-DLLVM_ENABLE_ASSERTIONS=$LLVM_ENABLE_ASSERTIONS \
46+
-DLLVM_ENABLE_UNWIND_TABLES=OFF \
47+
-DLLVM_ENABLE_TERMINFO=OFF \
48+
-DLLVM_ENABLE_LIBEDIT=OFF \
49+
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
50+
-DLLVM_INCLUDE_TESTS=OFF \
51+
-DCOMPILER_RT_USE_LIBCXX=OFF \
52+
-DLLVM_BINUTILS_INCDIR=/usr/include \
53+
-DLLVM_STATIC_LINK_CXX_STDLIB=ON \
54+
-DCMAKE_CXX_FLAGS='-Wno-psabi'
55+
- |
56+
# work around out-of-memory kills
57+
for N in 8 7 7 6 6 6 5 5 5 5; do
58+
ninja -j$N && break
59+
done
60+
- ninja -j4 install
61+
- cd ..
62+
# Pack installation dir
63+
- |
64+
set -eo pipefail
65+
if [ "$TRAVIS_TAG" != "" ]; then
66+
artifactID=${TRAVIS_TAG:5}
67+
else
68+
artifactID=${TRAVIS_COMMIT:0:8}
69+
fi
70+
assertsSuffix=""
71+
if [ "$LLVM_ENABLE_ASSERTIONS" = "ON" ]; then
72+
assertsSuffix="-withAsserts"
73+
fi
74+
artifactName=llvm-$artifactID-linux-aarch64$assertsSuffix
75+
mv install $artifactName
76+
artifact=$artifactName.tar.xz
77+
echo "Packing $artifact..."
78+
tar -cf - $artifactName | 7za a $artifact -si -txz -mx9
79+
ls -lh $artifact
80+
81+
# Travis deploys to the GitHub release matching git tag $TRAVIS_TAG
82+
after_success:
83+
- |
84+
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
85+
echo 'Skipping deployment'
86+
elif [ "$TRAVIS_TAG" = "" ]; then
87+
echo 'Deploying to CI release'
88+
export TRAVIS_TAG=CI
89+
fi
90+
91+
deploy:
92+
provider: releases
93+
api_key:
94+
secure: "vJnenvhXJd8hSiUrwIMTux37WCrEg8ntPJlmks3oSeFSJuD5/jE6ietbBi31GWJ2CNL8SgrVNCYr8zd5dCEiwH3EJHgJwQYf5P0mm6oJ0QcdKMRMBws1xuiHv4Q1o/IOfWt6fFA7xfiU/UXU1aQM21ec4aq1AKg3NpcyYM3k8HzFZVkGgOpedxh0/pQnDjWSma8aHGOjyfYil8dWPyX7X6AO8ju4VNi3b+gd/jXX4j6fIxRBUA6cSiHl86yJGyls2blhyjTEUD/Hp4WL/3qf0Jrd7c/B8M9zA94GTt5rfsnnKwdgLpyZX+xZV6xwzUkCu0D/tD+zriz1Dl1PLaztytTufv5Gvs2uVQcSWCYvd8DjMR/t4qeX3FJqpmgCRF/TK1o5ad0bcxDTu3JMIPxPnz3sTbPwRi26CzVG6rNEB7sfWHzNO9IWBrrGnOkmsOg96R3I1oNXFxsgX3Goy7KRL71mTxjQlw5KdC45hSOYMFcZ8LXVyGK9KldCUYg+OUawCNru+e+glVT3p0fjV/R3LRSEe551+9jsUPXii7gGiKBx0Ivr+00y1wqI0EWy0oWMGlTSfBmE2pw+K+Yfia2CXUVNak8uFRilEcJQVoVj65opM00PsDeiX/HXHNkN4j72AU7uspP5bOXmD4osONJqwvLW9hxCLBNE/ycWL06Wiu4="
95+
file_glob: true
96+
file: llvm-*.tar.xz
97+
skip_cleanup: true
98+
on:
99+
tags: true
100+
101+
notifications:
102+
email: false

0 commit comments

Comments
 (0)