|
| 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