diff --git a/libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp b/libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp --- a/libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp +++ b/libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp @@ -65,7 +65,7 @@ std::atomic_store_explicit(&x, 42, std::memory_order_acquire); // expected-warning {{memory order argument to atomic operation is invalid}} std::atomic_store_explicit(&x, 42, std::memory_order_acq_rel); // expected-warning {{memory order argument to atomic operation is invalid}} std::atomic_store_explicit(&vx, 42, std::memory_order_consume); // expected-warning {{memory order argument to atomic operation is invalid}} - std::atomic_store_explicit(&vx, 42, std::memory_order_acquire); // expected-warning {{memory order argument to atomic operation is invalid}} + std::atomic_store_explicit(&vx, 42, std::memory_order_acquire); // expected-warning {{memory order argument to atomic operation is valid}} std::atomic_store_explicit(&vx, 42, std::memory_order_acq_rel); // expected-warning {{memory order argument to atomic operation is invalid}} // valid memory orders std::atomic_store_explicit(&x, 42, std::memory_order_relaxed); diff --git a/libcxx/utils/ci/buildkite-pipeline-premerge.sh b/libcxx/utils/ci/buildkite-pipeline-premerge.sh new file mode 100755 --- /dev/null +++ b/libcxx/utils/ci/buildkite-pipeline-premerge.sh @@ -0,0 +1,24 @@ +#===----------------------------------------------------------------------===## +# +# 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 + +cat "${DIR}/buildkite-pipeline.yml" diff --git a/libcxx/utils/ci/buildkite-pipeline-snapshot.sh b/libcxx/utils/ci/buildkite-pipeline-snapshot.sh new file mode 100755 --- /dev/null +++ b/libcxx/utils/ci/buildkite-pipeline-snapshot.sh @@ -0,0 +1,17 @@ +#===----------------------------------------------------------------------===## +# +# 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 "${DIR}/buildkite-pipeline.yml" diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml --- a/libcxx/utils/ci/buildkite-pipeline.yml +++ b/libcxx/utils/ci/buildkite-pipeline.yml @@ -16,81 +16,82 @@ 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" agents: queue: "libcxx-macos-builders" diff --git a/libcxx/utils/ci/run-buildbot.sh b/libcxx/utils/ci/run-buildbot.sh --- a/libcxx/utils/ci/run-buildbot.sh +++ b/libcxx/utils/ci/run-buildbot.sh @@ -21,7 +21,7 @@ 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)