[libc++] Update continous integration scripts

Now libc++ pipeline will be triggered from the "premerge-checks" and the
combined result are going to be returned to Harbormaster.

Reviewed-by: ldionne

Differential Revision: https://reviews.llvm.org/D89113
This commit is contained in:
Mikhail Goncharov 2020-10-09 12:23:48 +02:00
parent 6379090ea7
commit 40f360c2e9
4 changed files with 135 additions and 35 deletions

View File

@ -0,0 +1,42 @@
#!/usr/bin/env bash
#===----------------------------------------------------------------------===##
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
#===----------------------------------------------------------------------===##
#
# This file generates a Buildkite pipeline that triggers the libc++ CI
# job(s) if needed.
# See https://buildkite.com/docs/agent/v3/cli-pipeline#pipeline-format.
#
# Invoked by CI on pre-merge check for a commit.
#
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
if ! git diff --name-only HEAD~1 | grep -q -E "libcxx/|libcxxabi/"; then
# libcxx is not affected
exit 0
fi
reviewID="$(git log --format=%B -n 1 | sed -nE 's/^Review-ID:[[:space:]]*(.+)$/\1/p')"
if [[ "${reviewID}" != "" ]]; then
buildMessage="https://llvm.org/${reviewID}"
else
buildMessage="Push to branch ${BUILDKITE_BRANCH}"
fi
cat <<EOF
steps:
- trigger: "libcxx-ci"
build:
message: "${buildMessage}"
commit: "${BUILDKITE_COMMIT}"
branch: "${BUILDKITE_BRANCH}"
EOF

View File

@ -0,0 +1,25 @@
#!/usr/bin/env bash
#===----------------------------------------------------------------------===##
#
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
#===----------------------------------------------------------------------===##
#
# This file generates a Buildkite pipeline that triggers the libc++ CI jobs.
# See https://buildkite.com/docs/agent/v3/cli-pipeline#pipeline-format.
#
# Invoked by CI on full builds.
#
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
cat <<EOF
steps:
- trigger: "libcxx-ci"
build:
message: "${BUILDKITE_MESSAGE}"
commit: "${BUILDKITE_COMMIT}"
branch: "${BUILDKITE_BRANCH}"
EOF

View File

@ -16,86 +16,119 @@
steps:
- label: "C++03"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-cxx03 | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-cxx03"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
- label: "C++11"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-cxx11 | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-cxx11"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
- label: "C++14"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-cxx14 | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-cxx14"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
- label: "C++17"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-cxx17 | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-cxx17"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
- label: "C++20"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-cxx2a | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-cxx2a"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
- label: "-fno-exceptions"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-noexceptions | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-noexceptions"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
- label: "GCC/C++20"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-gcc | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-gcc"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
- label: "ASAN"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-asan | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-asan"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
- label: "TSAN"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-tsan | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-tsan"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
- label: "UBSAN"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-ubsan | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-ubsan"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
- label: "With LLVM's libunwind"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-with_llvm_unwinder | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-with_llvm_unwinder"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
- label: "Single-threaded"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-singlethreaded | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-singlethreaded"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
- label: "No debug mode"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-nodebug | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-nodebug"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-builders"
- label: "No random device"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-no-random_device | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-no-random_device"
agents:
queue: "libcxx-builders"
- label: "MacOS C++20"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-cxx2a | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh generic-cxx2a"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-macos-builders"
# Build with the configuration we use to generate libc++.dylib on Apple platforms
- label: "Apple system"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh x86_64-apple-system | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh x86_64-apple-system"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-macos-builders"
- label: "Apple system -fno-exceptions"
command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh x86_64-apple-system-noexceptions | libcxx/utils/ci/phabricator-report"
command: "libcxx/utils/ci/run-buildbot.sh x86_64-apple-system-noexceptions"
artifact_paths:
- "**/test-results.xml"
agents:
queue: "libcxx-macos-builders"

View File

@ -23,43 +23,43 @@ case "${BUILDER}" in
generic-cxx03)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx03.cmake")
;;
generic-cxx11)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx11.cmake")
;;
generic-cxx14)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx14.cmake")
;;
generic-cxx17)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx17.cmake")
;;
generic-cxx2a)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx2a.cmake")
;;
generic-noexceptions)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-noexceptions.cmake")
;;
generic-32bit)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-32bits.cmake")
;;
generic-gcc)
@ -67,66 +67,66 @@ generic-gcc)
export CXX=g++
# FIXME: Re-enable experimental testing on GCC. GCC cares about the order
# in which we link -lc++experimental, which causes issues.
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --param enable_experimental=False")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --param enable_experimental=False --xunit-xml-output test-results.xml")
;;
generic-asan)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-asan.cmake")
;;
generic-msan)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-msan.cmake")
;;
generic-tsan)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-tsan.cmake")
;;
generic-ubsan)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-ubsan.cmake")
;;
generic-with_llvm_unwinder)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-DLIBCXXABI_USE_LLVM_UNWINDER=ON")
;;
generic-singlethreaded)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-singlethreaded.cmake")
;;
generic-nodebug)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-nodebug.cmake")
;;
generic-no-random_device)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-random_device.cmake")
;;
x86_64-apple-system)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Apple.cmake")
;;
x86_64-apple-system-noexceptions)
export CC=clang
export CXX=clang++
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported --xunit-xml-output test-results.xml")
args+=("-C${MONOREPO_ROOT}/libcxx/cmake/caches/Apple.cmake")
args+=("-DLIBCXX_ENABLE_EXCEPTIONS=OFF")
args+=("-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF")