From 260463d81d8533a797ef4039219a4f5269a17154 Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Sat, 25 Aug 2018 01:34:50 +0200 Subject: [PATCH 1/3] Add preliminary Shippable CI for AArch64 --- shippable.yml | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 shippable.yml diff --git a/shippable.yml b/shippable.yml new file mode 100644 index 0000000000000..255bb6801521b --- /dev/null +++ b/shippable.yml @@ -0,0 +1,57 @@ +language: c + +compiler: + - gcc + +runtime: + nodePool: shippable_shared_aarch64 + +env: + - LLVM_ENABLE_ASSERTIONS=ON + - LLVM_ENABLE_ASSERTIONS=OFF + +build: + ci: + # Install dependencies. + - export DEBIAN_FRONTEND=noninteractive + - apt-get -y update + - apt-get -yq install binutils-dev cmake curl git-core ninja-build p7zip-full + - update-alternatives --install /usr/bin/ld ld /usr/bin/ld.gold 99 + # Build LLVM incl. LLD and compiler-rt. + - git submodule update --init --recursive + - mkdir ninja-llvm + - cd ninja-llvm + - | + cmake -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=$PWD/../llvm-install \ + -DLLVM_TARGETS_TO_BUILD="AArch64;ARM" \ + -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="WebAssembly" \ + -DLLVM_ENABLE_ASSERTIONS=$LLVM_ENABLE_ASSERTIONS \ + -DCOMPILER_RT_INCLUDE_TESTS=OFF \ + -DLLVM_BINUTILS_INCDIR=/usr/include \ + -DCMAKE_CXX_FLAGS='-static-libstdc++ -Wno-class-memaccess -Wno-cast-function-type' \ + .. + - ninja install + - cd .. + # Pack installation dir. + - | + assertsSuffix="" + if [ "$LLVM_ENABLE_ASSERTIONS" = "ON" ]; then assertsSuffix="-withAsserts"; fi + if [ "$IS_GIT_TAG" = "false" ]; then + artifactBasename="llvm-${COMMIT:0:8}-linux-aarch64$assertsSuffix-$(date "+%Y%m%d")" + else + artifactBasename="llvm-${GIT_TAG_NAME:5}-linux-aarch64$assertsSuffix" + fi + mv llvm-install $artifactBasename + tar -cf - $artifactBasename | 7za a $artifactBasename.tar.xz -si -txz -mx9 + ls -l $artifactBasename.tar.xz + +integrations: + notifications: + - integrationName: email + type: email + on_success: never + on_failure: never + on_cancel: never + on_pull_request: never From adf18b625b4cbd19047b70141fbc2ad407c35364 Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Sat, 25 Aug 2018 17:48:28 +0200 Subject: [PATCH 2/3] Shippable: Upload package to GitHub release --- shippable.yml | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/shippable.yml b/shippable.yml index 255bb6801521b..594c61f4bb969 100644 --- a/shippable.yml +++ b/shippable.yml @@ -7,8 +7,11 @@ runtime: nodePool: shippable_shared_aarch64 env: - - LLVM_ENABLE_ASSERTIONS=ON - - LLVM_ENABLE_ASSERTIONS=OFF + global: + - secure: OuhkRMNLWCzMcJdPrUtvyo78/NqOtP1WHEfVViD5oCHIFr7rTjOTRFC+1Tcal//Z9XoqlGTBSfthqn6Z8QemqdljeVSXJgb9zXJMrq4Hl/hWrNhJ/M1m/rh30EQYnAzFyiTGN9yuzOLArLDq1Emv2dzDRpZybrx6FpSvo+hm3GQZNW55+KUu5uUoCsKZwSIjytgJPuec/sTOkV81OP2bszwqmvh+Xhb1UT4ukYlDKK3B+uggKc7MCnOWiYBkh5fsNmEjUiBS3tj4B2nD4rTv0isDucZJTe5aHbOFhjRi5Yh4yk4qxi4WqwOHYDTIU4rzEOuOKihVeo52IayuJE+4Iw== + matrix: + - LLVM_ENABLE_ASSERTIONS=ON + - LLVM_ENABLE_ASSERTIONS=OFF build: ci: @@ -46,6 +49,22 @@ build: mv llvm-install $artifactBasename tar -cf - $artifactBasename | 7za a $artifactBasename.tar.xz -si -txz -mx9 ls -l $artifactBasename.tar.xz + # Upload to GitHub. + - | + if [ "$IS_GIT_TAG" = "false" ]; then + releaseTag="CI" + else + releaseTag=${GIT_TAG_NAME:5} + fi + releaseID=$(curl -s https://api.github.com/repos/ldc-developers/llvm/releases/tags/$releaseTag | grep -m 1 '^ "id":') + releaseID=${releaseID:8:-1} + artifact=$(ls llvm-*.tar.xz) + echo "Uploading $artifact to GitHub release $releaseTag ($releaseID)..." + curl -s \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Content-Type: application/octet-stream" \ + --data-binary @$artifact \ + https://uploads.github.com/repos/ldc-developers/llvm/releases/$releaseID/assets?name=$artifact integrations: notifications: From 6e64ccf59fbd93bc87eb95f8e3398176ab860494 Mon Sep 17 00:00:00 2001 From: Martin Kinkelin Date: Wed, 5 Sep 2018 01:27:11 +0200 Subject: [PATCH 3/3] Shippable: Fix GitHub release name for tagged builds --- shippable.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shippable.yml b/shippable.yml index 594c61f4bb969..78ede6ab842d8 100644 --- a/shippable.yml +++ b/shippable.yml @@ -54,7 +54,7 @@ build: if [ "$IS_GIT_TAG" = "false" ]; then releaseTag="CI" else - releaseTag=${GIT_TAG_NAME:5} + releaseTag="$GIT_TAG_NAME" fi releaseID=$(curl -s https://api.github.com/repos/ldc-developers/llvm/releases/tags/$releaseTag | grep -m 1 '^ "id":') releaseID=${releaseID:8:-1}