[libcxx] [llvm] Test other workflow (PR #72301)

via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 14 11:25:01 PST 2023


https://github.com/EricWF updated https://github.com/llvm/llvm-project/pull/72301

>From 8f3e29de407b642965faa2734ca0b6c5d697fcfa Mon Sep 17 00:00:00 2001
From: eric <eric at efcs.ca>
Date: Tue, 14 Nov 2023 09:51:59 -0500
Subject: [PATCH 1/8] Add workflows for libc++ to replace buildkite builders

Also remove duplicate workflows for github
---
 .github/workflows/libcxx-build-and-test.yaml | 138 +++++
 libcxx/utils/ci/buildkite-pipeline-full.yml  | 570 +++++++++++++++++++
 libcxx/utils/ci/buildkite-pipeline.yml       | 278 ---------
 libcxx/utils/ci/run-buildbot                 |   4 +-
 4 files changed, 710 insertions(+), 280 deletions(-)
 create mode 100644 .github/workflows/libcxx-build-and-test.yaml
 create mode 100644 libcxx/utils/ci/buildkite-pipeline-full.yml

diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml
new file mode 100644
index 000000000000000..55e77d0b480b2c2
--- /dev/null
+++ b/.github/workflows/libcxx-build-and-test.yaml
@@ -0,0 +1,138 @@
+name: Build and Test libc++
+
+on: pull_request
+concurrency:
+  group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
+  cancel-in-progress: true
+
+permissions:
+  checks: write
+
+env:
+  CMAKE: "/opt/bin/cmake"
+
+# Comment
+jobs:
+  stage1:
+    runs-on: libcxx-runners-16
+    continue-on-error: false
+    strategy:
+      fail-fast: true
+      matrix:
+        config: [ 'generic-cxx26', 'generic-cxx03', 'generic-modules' ]
+        cc: [ 'clang-18' ]
+        cxx: [ 'clang++-18' ]
+        include:
+          - config: 'generic-gcc'
+            cc: 'gcc-13'
+            cxx: 'g++-13'
+    steps:
+      - uses: actions/checkout at v4
+        with:
+          fetch-depth: 5
+      - name: ${{ matrix.config }}.${{ matrix.cxx }}
+        run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
+        env:
+          CC: ${{ matrix.cc }}
+          CXX: ${{ matrix.cxx }}
+      - uses: actions/upload-artifact at v3
+        if: always()
+        with:
+          name: ${{ matrix.config }}-${{ matrix.cxx }}-results
+          path: |
+            "**/test-results.xml"
+            "**/*.abilist"
+  stage2:
+    runs-on: libcxx-runners-16
+    needs: [ stage1  ]
+    continue-on-error: false
+    strategy:
+      fail-fast: true
+      max-parallel: 4
+      matrix:
+        config: [ 'generic-cxx11', 'generic-cxx14', 'generic-cxx17',
+                  'generic-cxx20', 'generic-cxx23' ]
+        include:
+          - config: 'generic-gcc-cxx11'
+            cc: 'gcc-13'
+            cxx: 'g++-13'
+          - config: 'generic-cxx23'
+            cc: 'clang-16'
+            cxx: 'clang++-16'
+          - config: 'generic-cxx23'
+            cc: 'clang-17'
+            cxx: 'clang++-17'
+    steps:
+      - uses: actions/checkout at v4
+        with:
+          fetch-depth: 5
+      - name: ${{ matrix.config }}
+        run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
+        env:
+          CC: 'clang-18'
+          CXX: 'clang++-18'
+      - uses: actions/upload-artifact at v3
+        if: always()
+        with:
+          name: ${{ matrix.config }}-results
+          path: |
+            "**/test-results.xml"
+            "**/*.abilist"
+  stage3-sanitizers:
+    runs-on: libcxx-runners-16
+    needs: [ stage1, stage2 ]
+    continue-on-error: false
+    strategy:
+      fail-fast: true
+      matrix:
+        config: [ 'generic-asan', 'generic-msan', 'generic-tsan', 'generic-ubsan' ]
+    steps:
+      - uses: actions/checkout at v4
+        with:
+          fetch-depth: 5
+      - name: ${{ matrix.config }}
+        run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
+        env:
+          CC: clang-18
+          CXX: clang++-18
+      - uses: actions/upload-artifact at v3
+        if: always()
+        with:
+          name: ${{ matrix.config }}-results
+          path: |
+            "**/test-results.xml"
+            "**/*.abilist"
+  stage3-remainder:
+    runs-on: libcxx-runners-8
+    needs: [ stage1, stage2 ]
+    continue-on-error: false
+    strategy:
+      fail-fast: true
+      max-parallel: 8
+      matrix:
+        config: [ 'generic-no-threads', 'generic-no-filesystem', 'generic-no-random_device',
+                 'generic-no-localization', 'generic-no-unicode', 'generic-no-wide-characters',
+                 'generic-no-experimental', 'generic-no-exceptions',
+                 'generic-abi-unstable',  'generic-hardening-mode-fast',
+                 'generic-hardening-mode-fast-with-abi-breaks', 'generic-hardening-mode-extensive',
+                'generic-hardening-mode-debug',
+                'generic-with_llvm_unwinder',
+                'generic-static', 'generic-merged'
+                'generic-modules-lsv', 'generic-no-tzdb']
+    steps:
+      - uses: actions/checkout at v4
+        with:
+          fetch-depth: 5
+      - name: ${{ matrix.config }}
+        run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
+        env:
+          CC: clang-18
+          CXX: clang++-18
+      - uses: actions/upload-artifact at v3
+        if: always()
+        with:
+          name: ${{ matrix.config }}-results
+          path: |
+            "**/test-results.xml"
+            "**/*.abilist"
+  
diff --git a/libcxx/utils/ci/buildkite-pipeline-full.yml b/libcxx/utils/ci/buildkite-pipeline-full.yml
new file mode 100644
index 000000000000000..7482938f65dc816
--- /dev/null
+++ b/libcxx/utils/ci/buildkite-pipeline-full.yml
@@ -0,0 +1,570 @@
+#===----------------------------------------------------------------------===##
+#
+# 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 describes the various pre-commit CI bots used to test libc++.
+#
+# This file should never contain logic -- all the logic must be offloaded
+# into scripts. This is critical to being able to reproduce CI issues outside
+# of the CI environment, which is important for debugging.
+#
+# It is also worth noting that this script is split into several sections, the
+# goal being to reduce the load on testers when a commit is known to fail.
+#
+
+# The Linux CI runners use the nightly ToT build provided by the Docker image.
+# (Note the image isn't updated daily.) The LLVM_HEAD_VERSION contains that
+# version number. The Linux CI runners for GCC use the latest stable version.
+# Theses numbers are available in all runners, making it easier to update the
+# version number.
+env:
+    # LLVM POST-BRANCH bump version
+    # LLVM POST-BRANCH add compiler test for ToT - 1, e.g. "Clang 17"
+    # LLVM RELEASE bump remove compiler ToT - 3, e.g. "Clang 15"
+    LLVM_HEAD_VERSION: "18"   # Used compiler, update POST-BRANCH.
+    GCC_STABLE_VERSION: "13"
+
+definitions:
+  _common: &common
+    timeout_in_minutes: 120
+    retry:
+      automatic:
+        - exit_status: -1  # Agent was lost
+          limit: 2
+    artifact_paths:
+      - "**/test-results.xml"
+      - "**/*.abilist"
+      - "**/crash_diagnostics/*"
+
+# Define agents using YAML anchors to reduce duplication
+agents_definitions:
+  _linux_agent: &linux_agent
+    agents:
+      queue: libcxx-builders
+      os: linux
+  _windows_agent: &windows_agent
+    agents:
+      queue: windows
+
+  # Mac OS Builders
+  _mac_agent_x86: &mac_agent_x86
+    agents:
+      queue: libcxx-builders
+      os: macos
+      arch: x86_64
+  _mac_agent_arm64: &mac_agent_arm64
+    agents:
+      queue: libcxx-builders
+      os: macos
+      arch: arm64
+  _mac_agent_any_arch: &mac_agent_any_arch
+    agents:
+      queue: libcxx-builders
+      os: macos
+  _arm_agent_aarch64: &arm_agent_aarch64
+    agents:
+      queue: libcxx-builders-linaro-arm
+      arch: aarch64
+  _arm_agent_armv8l: &arm_agent_armv8l
+    agents:
+      queue: libcxx-builders-linaro-arm
+      arch: armv8l
+  _aix_agent: &aix_agent
+    agents:
+      queue: libcxx-builders
+      os: aix
+  _android_agent: &android_agent
+    agents:
+      queue: libcxx-builders
+      os: android
+
+
+environment_definitions:
+  _common_env: &common_env
+      ENABLE_CLANG_TIDY: "On"
+      LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-${LLVM_HEAD_VERSION}"
+      CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics"
+      CC: clang-${LLVM_HEAD_VERSION}
+      CXX: clang++-${LLVM_HEAD_VERSION}
+      CMAKE: /opt/bin/cmake
+
+  _absolute_path_clang: &absolute_path_clang
+    # Note modules require and absolute path for clang-scan-deps
+    # https://github.com/llvm/llvm-project/issues/61006
+    CC: /usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang
+    CXX: /usr/lib/llvm-${LLVM_HEAD_VERSION}/bin/clang++
+
+
+steps:
+  #
+  # General testing with the default configuration, under all the supported
+  # Standard modes, with Clang and GCC. This catches most issues upfront.
+  # The goal of this step is to catch most issues while being very fast.
+  #
+- label: GCC ${GCC_STABLE_VERSION} / C++latest
+  command: libcxx/utils/ci/run-buildbot generic-gcc
+  env:
+    <<: *common_env
+    CC: gcc-${GCC_STABLE_VERSION}
+    CXX: g++-${GCC_STABLE_VERSION}
+  <<: *common
+  <<: *linux_agent
+  
+
+
+- label: C++26
+  command: libcxx/utils/ci/run-buildbot generic-cxx26
+  env:
+    <<: *common_env
+    <<: *absolute_path_clang
+  <<: *linux_agent
+  <<: *common
+
+- label: Modular build
+  command: libcxx/utils/ci/run-buildbot generic-modules
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- label: C++11
+  command: libcxx/utils/ci/run-buildbot generic-cxx11
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- label: C++03
+  command: libcxx/utils/ci/run-buildbot generic-cxx03
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+  #
+  # All other supported configurations of libc++.
+  #
+- wait
+
+- label: C++23
+  command: libcxx/utils/ci/run-buildbot generic-cxx23
+  env:
+    <<: *common_env
+    <<: *absolute_path_clang
+    ENABLE_STD_MODULES: 'On'
+  <<: *linux_agent
+  <<: *common
+
+- label: C++20
+  command: libcxx/utils/ci/run-buildbot generic-cxx20
+  env:
+    <<: *common_env
+    <<: *absolute_path_clang
+    ENABLE_STD_MODULES: 'On'
+  <<: *linux_agent
+  <<: *common
+
+- label: C++17
+  command: libcxx/utils/ci/run-buildbot generic-cxx17
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- label: C++14
+  command: libcxx/utils/ci/run-buildbot generic-cxx14
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- label: GCC ${GCC_STABLE_VERSION} / C++11
+  command: libcxx/utils/ci/run-buildbot generic-gcc-cxx11
+  env:
+    <<: *common_env
+    CC: gcc-${GCC_STABLE_VERSION}
+    CXX: g++-${GCC_STABLE_VERSION}
+  <<: *linux_agent
+  <<: *common
+
+- label: Clang 16
+  command: libcxx/utils/ci/run-buildbot generic-cxx23
+  env:
+    <<: *common_env
+    CC: clang-16
+    CXX: clang++-16
+    ENABLE_STD_MODULES: 'Off'
+  <<: *linux_agent
+  <<: *common
+
+- label: Clang 17
+  command: libcxx/utils/ci/run-buildbot generic-cxx23
+  env:
+    <<: *common_env
+    CC: /usr/lib/llvm-17/bin/clang
+    CXX: /usr/lib/llvm-17/bin/clang++
+  <<: *linux_agent
+  <<: *common
+
+- group: Sanitizers
+  steps:
+  - label: ASAN
+    command: libcxx/utils/ci/run-buildbot generic-asan
+    env:
+      <<: *common_env
+    <<: *linux_agent
+    <<: *common
+
+  - label: TSAN
+    command: libcxx/utils/ci/run-buildbot generic-tsan
+    env:
+      <<: *common_env
+    <<: *linux_agent
+    <<: *common
+
+  - label: UBSAN
+    command: libcxx/utils/ci/run-buildbot generic-ubsan
+    env:
+      <<: *common_env
+    <<: *linux_agent
+    <<: *common
+
+  - label: MSAN
+    command: libcxx/utils/ci/run-buildbot generic-msan
+    env:
+      <<: *common_env
+    <<: *linux_agent
+    <<: *common
+
+
+- label: Bootstrapping build
+  command: libcxx/utils/ci/run-buildbot bootstrapping-build
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- label: Static libraries
+  command: libcxx/utils/ci/run-buildbot generic-static
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- label: Shared library with merged ABI and unwinder libraries
+  command: libcxx/utils/ci/run-buildbot generic-merged
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- label: Fast hardening mode
+  command: libcxx/utils/ci/run-buildbot generic-hardening-mode-fast
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- label: Fast hardening mode with ABI breaks
+  command: libcxx/utils/ci/run-buildbot generic-hardening-mode-fast-with-abi-breaks
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- label: Extensive hardening mode
+  command: libcxx/utils/ci/run-buildbot generic-hardening-mode-extensive
+  env:
+    <<: *common_env
+    <<: *absolute_path_clang
+  <<: *linux_agent
+  <<: *common
+
+- label: Debug hardening mode
+  command: libcxx/utils/ci/run-buildbot generic-hardening-mode-debug
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- label: With LLVM's libunwind
+  command: libcxx/utils/ci/run-buildbot generic-with_llvm_unwinder
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- label: Modular build with Local Submodule Visibility
+  command: libcxx/utils/ci/run-buildbot generic-modules-lsv
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- group: Parts disabled
+  steps:
+  - label: No threads
+    command: libcxx/utils/ci/run-buildbot generic-no-threads
+    env:
+      <<: *common_env
+      <<: *absolute_path_clang
+    <<: *linux_agent
+    <<: *common
+
+
+  - label: No filesystem
+    command: libcxx/utils/ci/run-buildbot generic-no-filesystem
+    env:
+      <<: *common_env
+      <<: *absolute_path_clang
+    <<: *linux_agent
+    <<: *common
+
+  - label: No random device
+    command: libcxx/utils/ci/run-buildbot generic-no-random_device
+    env:
+      <<: *common_env
+      <<: *absolute_path_clang
+    <<: *linux_agent
+    <<: *common
+
+  - label: No locale
+    command: libcxx/utils/ci/run-buildbot generic-no-localization
+    env:
+      <<: *common_env
+      <<: *absolute_path_clang
+    <<: *linux_agent
+    <<: *common
+
+  - label: No Unicode
+    command: libcxx/utils/ci/run-buildbot generic-no-unicode
+    env:
+      <<: *common_env
+      <<: *absolute_path_clang
+    <<: *linux_agent
+    <<: *common
+
+  - label: No wide characters
+    command: libcxx/utils/ci/run-buildbot generic-no-wide-characters
+    env:
+      <<: *common_env
+      <<: *absolute_path_clang
+    <<: *linux_agent
+    <<: *common
+
+  - label: No time zone database
+    command: libcxx/utils/ci/run-buildbot generic-no-tzdb
+    env:
+      <<: *common_env
+    <<: *linux_agent
+    <<: *common
+
+  - label: No experimental features
+    command: libcxx/utils/ci/run-buildbot generic-no-experimental
+    env:
+      <<: *common_env
+      <<: *absolute_path_clang
+    <<: *linux_agent
+    <<: *common
+  - label: No exceptions
+    command: libcxx/utils/ci/run-buildbot generic-no-exceptions
+    env:
+      <<: *common_env
+      <<: *absolute_path_clang
+    <<: *linux_agent
+    <<: *common
+
+- label: Unstable ABI
+  command: libcxx/utils/ci/run-buildbot generic-abi-unstable
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- label: Benchmarks
+  command: libcxx/utils/ci/run-buildbot benchmarks
+  env:
+    <<: *common_env
+  <<: *linux_agent
+  <<: *common
+
+- group: ':windows: Windows'
+  steps:
+  - label: Clang-cl (DLL)
+    command: bash libcxx/utils/ci/run-buildbot clang-cl-dll
+    <<: *windows_agent
+    <<: *common
+
+  - label: Clang-cl (Static)
+    command: bash libcxx/utils/ci/run-buildbot clang-cl-static
+    <<: *windows_agent
+    <<: *common
+
+  - label: Clang-cl (no vcruntime exceptions)
+    command: bash libcxx/utils/ci/run-buildbot clang-cl-no-vcruntime
+    <<: *common
+    <<: *windows_agent
+
+  - label: Clang-cl (Debug mode)
+    command: bash libcxx/utils/ci/run-buildbot clang-cl-debug
+    <<: *windows_agent
+    <<: *common
+
+  - label: Clang-cl (Static CRT)
+    command: bash libcxx/utils/ci/run-buildbot clang-cl-static-crt
+    <<: *windows_agent
+    <<: *common
+
+  - label: MinGW (DLL, x86_64)
+    command: bash libcxx/utils/ci/run-buildbot mingw-dll
+    <<: *windows_agent
+    <<: *common
+
+  - label: MinGW (Static, x86_64)
+    command: bash libcxx/utils/ci/run-buildbot mingw-static
+    <<: *windows_agent
+    <<: *common
+
+  - label: MinGW (DLL, i686)
+    command: bash libcxx/utils/ci/run-buildbot mingw-dll-i686
+    <<: *windows_agent
+    <<: *common
+
+- group: ':mac: Apple'
+  steps:
+  - label: MacOS x86_64
+    command: libcxx/utils/ci/run-buildbot generic-cxx23
+    <<: *mac_agent_x86
+    <<: *common
+
+  - label: MacOS arm64
+    command: libcxx/utils/ci/run-buildbot generic-cxx23
+    <<: *mac_agent_arm64
+    <<: *common
+
+  - label: MacOS with Modules
+    command: libcxx/utils/ci/run-buildbot generic-modules
+    <<: *mac_agent_any_arch
+    <<: *common
+
+    # Build with the configuration we use to generate libc++.dylib on Apple platforms
+  - label: Apple system
+    command: libcxx/utils/ci/run-buildbot apple-system
+    <<: *mac_agent_arm64  # This can technically run on any architecture, but we have more resources on arm64 so we pin this job to arm64
+    <<: *common
+
+  - label: Apple back-deployment macosx10.13
+    command: libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.13
+    <<: *mac_agent_x86 # We need to use x86_64 for back-deployment CI on this target since macOS didn't support arm64 back then
+    <<: *common
+
+  - label: Apple back-deployment macosx10.15
+    command: libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.15
+    <<: *mac_agent_x86 # We need to use x86_64 for back-deployment CI on this target since macOS didn't support arm64 back then
+    <<: *common
+
+  - label: Apple back-deployment with hardening enabled
+    command: libcxx/utils/ci/run-buildbot apple-system-backdeployment-hardened-11.0
+    <<: *mac_agent_x86  # TODO: Remove this once we are able to run back-deployment on arm64 again, since this isn't x86_64 specific
+    <<: *common
+
+- group: ARM
+  steps:
+  - label: AArch64
+    command: libcxx/utils/ci/run-buildbot aarch64
+    <<: *arm_agent_aarch64
+    <<: *common
+
+  - label: AArch64 -fno-exceptions
+    command: libcxx/utils/ci/run-buildbot aarch64-no-exceptions
+    <<: *arm_agent_aarch64
+    <<: *common
+
+  - label: Armv8
+    command: libcxx/utils/ci/run-buildbot armv8
+    <<: *arm_agent_armv8l
+    <<: *common
+
+  - label: Armv8 -fno-exceptions
+    command: libcxx/utils/ci/run-buildbot armv8-no-exceptions
+    <<: *arm_agent_armv8l
+    <<: *common
+
+  - label: Armv7
+    command: libcxx/utils/ci/run-buildbot armv7
+    <<: *arm_agent_armv8l
+    <<: *common
+
+  - label: Armv7 -fno-exceptions
+    command: libcxx/utils/ci/run-buildbot armv7-no-exceptions
+    <<: *arm_agent_armv8l
+    <<: *common
+
+- group: AIX
+  steps:
+  - label: AIX (32-bit)
+    command: libcxx/utils/ci/run-buildbot aix
+    env:
+      CC: clang
+      CXX: clang++
+      OBJECT_MODE: '32'
+    <<: *aix_agent
+    <<: *common
+
+  - label: AIX (64-bit)
+    command: libcxx/utils/ci/run-buildbot aix
+    env:
+      CC: clang
+      CXX: clang++
+      OBJECT_MODE: '64'
+    <<: *aix_agent
+    <<: *common
+
+- group: ':freebsd: FreeBSD'
+  steps:
+  - label: FreeBSD 13 amd64
+    command: libcxx/utils/ci/run-buildbot generic-cxx23
+    env:
+      CC: clang16
+      CXX: clang++16
+      ENABLE_STD_MODULES: 'Off'
+    agents:
+      queue: libcxx-builders
+      os: freebsd
+    <<: *common
+
+- group: ':android: Android'
+  steps:
+  - label: Android 5.0, x86 NDK
+    command: libcxx/utils/ci/run-buildbot android-ndk-21-def-x86
+    soft_fail: true
+    <<: *android_agent
+    <<: *common
+
+  - label: Android 13, x86_64 NDK
+    command: libcxx/utils/ci/run-buildbot android-ndk-33-goog-x86_64
+    soft_fail: true
+    <<: *android_agent
+    <<: *common
+
+
+    # TODO: Re-enable this once we've figured out how to run back-deployment testing on arm64 on recent OSes
+    # - label: "Apple back-deployment macosx11.0 arm64"
+    #   command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-11.0"
+    #   artifact_paths:
+    #     - "**/test-results.xml"
+    #     - "**/*.abilist"
+    #   agents:
+    #     queue: "libcxx-builders"
+    #     os: "macos"
+    #     arch: "arm64"
+    #   retry:
+    #     automatic:
+    #       - exit_status: -1  # Agent was lost
+    #         limit: 2
+    #   timeout_in_minutes: 120
diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
index 7482938f65dc816..39db2bfc473813a 100644
--- a/libcxx/utils/ci/buildkite-pipeline.yml
+++ b/libcxx/utils/ci/buildkite-pipeline.yml
@@ -101,147 +101,6 @@ environment_definitions:
 
 
 steps:
-  #
-  # General testing with the default configuration, under all the supported
-  # Standard modes, with Clang and GCC. This catches most issues upfront.
-  # The goal of this step is to catch most issues while being very fast.
-  #
-- label: GCC ${GCC_STABLE_VERSION} / C++latest
-  command: libcxx/utils/ci/run-buildbot generic-gcc
-  env:
-    <<: *common_env
-    CC: gcc-${GCC_STABLE_VERSION}
-    CXX: g++-${GCC_STABLE_VERSION}
-  <<: *common
-  <<: *linux_agent
-  
-
-
-- label: C++26
-  command: libcxx/utils/ci/run-buildbot generic-cxx26
-  env:
-    <<: *common_env
-    <<: *absolute_path_clang
-  <<: *linux_agent
-  <<: *common
-
-- label: Modular build
-  command: libcxx/utils/ci/run-buildbot generic-modules
-  env:
-    <<: *common_env
-  <<: *linux_agent
-  <<: *common
-
-- label: C++11
-  command: libcxx/utils/ci/run-buildbot generic-cxx11
-  env:
-    <<: *common_env
-  <<: *linux_agent
-  <<: *common
-
-- label: C++03
-  command: libcxx/utils/ci/run-buildbot generic-cxx03
-  env:
-    <<: *common_env
-  <<: *linux_agent
-  <<: *common
-
-  #
-  # All other supported configurations of libc++.
-  #
-- wait
-
-- label: C++23
-  command: libcxx/utils/ci/run-buildbot generic-cxx23
-  env:
-    <<: *common_env
-    <<: *absolute_path_clang
-    ENABLE_STD_MODULES: 'On'
-  <<: *linux_agent
-  <<: *common
-
-- label: C++20
-  command: libcxx/utils/ci/run-buildbot generic-cxx20
-  env:
-    <<: *common_env
-    <<: *absolute_path_clang
-    ENABLE_STD_MODULES: 'On'
-  <<: *linux_agent
-  <<: *common
-
-- label: C++17
-  command: libcxx/utils/ci/run-buildbot generic-cxx17
-  env:
-    <<: *common_env
-  <<: *linux_agent
-  <<: *common
-
-- label: C++14
-  command: libcxx/utils/ci/run-buildbot generic-cxx14
-  env:
-    <<: *common_env
-  <<: *linux_agent
-  <<: *common
-
-- label: GCC ${GCC_STABLE_VERSION} / C++11
-  command: libcxx/utils/ci/run-buildbot generic-gcc-cxx11
-  env:
-    <<: *common_env
-    CC: gcc-${GCC_STABLE_VERSION}
-    CXX: g++-${GCC_STABLE_VERSION}
-  <<: *linux_agent
-  <<: *common
-
-- label: Clang 16
-  command: libcxx/utils/ci/run-buildbot generic-cxx23
-  env:
-    <<: *common_env
-    CC: clang-16
-    CXX: clang++-16
-    ENABLE_STD_MODULES: 'Off'
-  <<: *linux_agent
-  <<: *common
-
-- label: Clang 17
-  command: libcxx/utils/ci/run-buildbot generic-cxx23
-  env:
-    <<: *common_env
-    CC: /usr/lib/llvm-17/bin/clang
-    CXX: /usr/lib/llvm-17/bin/clang++
-  <<: *linux_agent
-  <<: *common
-
-- group: Sanitizers
-  steps:
-  - label: ASAN
-    command: libcxx/utils/ci/run-buildbot generic-asan
-    env:
-      <<: *common_env
-    <<: *linux_agent
-    <<: *common
-
-  - label: TSAN
-    command: libcxx/utils/ci/run-buildbot generic-tsan
-    env:
-      <<: *common_env
-    <<: *linux_agent
-    <<: *common
-
-  - label: UBSAN
-    command: libcxx/utils/ci/run-buildbot generic-ubsan
-    env:
-      <<: *common_env
-    <<: *linux_agent
-    <<: *common
-
-  - label: MSAN
-    command: libcxx/utils/ci/run-buildbot generic-msan
-    env:
-      <<: *common_env
-    <<: *linux_agent
-    <<: *common
-
-
 - label: Bootstrapping build
   command: libcxx/utils/ci/run-buildbot bootstrapping-build
   env:
@@ -249,143 +108,6 @@ steps:
   <<: *linux_agent
   <<: *common
 
-- label: Static libraries
-  command: libcxx/utils/ci/run-buildbot generic-static
-  env:
-    <<: *common_env
-  <<: *linux_agent
-  <<: *common
-
-- label: Shared library with merged ABI and unwinder libraries
-  command: libcxx/utils/ci/run-buildbot generic-merged
-  env:
-    <<: *common_env
-  <<: *linux_agent
-  <<: *common
-
-- label: Fast hardening mode
-  command: libcxx/utils/ci/run-buildbot generic-hardening-mode-fast
-  env:
-    <<: *common_env
-  <<: *linux_agent
-  <<: *common
-
-- label: Fast hardening mode with ABI breaks
-  command: libcxx/utils/ci/run-buildbot generic-hardening-mode-fast-with-abi-breaks
-  env:
-    <<: *common_env
-  <<: *linux_agent
-  <<: *common
-
-- label: Extensive hardening mode
-  command: libcxx/utils/ci/run-buildbot generic-hardening-mode-extensive
-  env:
-    <<: *common_env
-    <<: *absolute_path_clang
-  <<: *linux_agent
-  <<: *common
-
-- label: Debug hardening mode
-  command: libcxx/utils/ci/run-buildbot generic-hardening-mode-debug
-  env:
-    <<: *common_env
-  <<: *linux_agent
-  <<: *common
-
-- label: With LLVM's libunwind
-  command: libcxx/utils/ci/run-buildbot generic-with_llvm_unwinder
-  env:
-    <<: *common_env
-  <<: *linux_agent
-  <<: *common
-
-- label: Modular build with Local Submodule Visibility
-  command: libcxx/utils/ci/run-buildbot generic-modules-lsv
-  env:
-    <<: *common_env
-  <<: *linux_agent
-  <<: *common
-
-- group: Parts disabled
-  steps:
-  - label: No threads
-    command: libcxx/utils/ci/run-buildbot generic-no-threads
-    env:
-      <<: *common_env
-      <<: *absolute_path_clang
-    <<: *linux_agent
-    <<: *common
-
-
-  - label: No filesystem
-    command: libcxx/utils/ci/run-buildbot generic-no-filesystem
-    env:
-      <<: *common_env
-      <<: *absolute_path_clang
-    <<: *linux_agent
-    <<: *common
-
-  - label: No random device
-    command: libcxx/utils/ci/run-buildbot generic-no-random_device
-    env:
-      <<: *common_env
-      <<: *absolute_path_clang
-    <<: *linux_agent
-    <<: *common
-
-  - label: No locale
-    command: libcxx/utils/ci/run-buildbot generic-no-localization
-    env:
-      <<: *common_env
-      <<: *absolute_path_clang
-    <<: *linux_agent
-    <<: *common
-
-  - label: No Unicode
-    command: libcxx/utils/ci/run-buildbot generic-no-unicode
-    env:
-      <<: *common_env
-      <<: *absolute_path_clang
-    <<: *linux_agent
-    <<: *common
-
-  - label: No wide characters
-    command: libcxx/utils/ci/run-buildbot generic-no-wide-characters
-    env:
-      <<: *common_env
-      <<: *absolute_path_clang
-    <<: *linux_agent
-    <<: *common
-
-  - label: No time zone database
-    command: libcxx/utils/ci/run-buildbot generic-no-tzdb
-    env:
-      <<: *common_env
-    <<: *linux_agent
-    <<: *common
-
-  - label: No experimental features
-    command: libcxx/utils/ci/run-buildbot generic-no-experimental
-    env:
-      <<: *common_env
-      <<: *absolute_path_clang
-    <<: *linux_agent
-    <<: *common
-  - label: No exceptions
-    command: libcxx/utils/ci/run-buildbot generic-no-exceptions
-    env:
-      <<: *common_env
-      <<: *absolute_path_clang
-    <<: *linux_agent
-    <<: *common
-
-- label: Unstable ABI
-  command: libcxx/utils/ci/run-buildbot generic-abi-unstable
-  env:
-    <<: *common_env
-  <<: *linux_agent
-  <<: *common
-
 - label: Benchmarks
   command: libcxx/utils/ci/run-buildbot benchmarks
   env:
diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
index fe99388a799be8a..d1b1e0f2e05fe47 100755
--- a/libcxx/utils/ci/run-buildbot
+++ b/libcxx/utils/ci/run-buildbot
@@ -137,7 +137,7 @@ function generate-cmake-base() {
           -DLIBUNWIND_ENABLE_WERROR=YES \
           -DLIBCXX_ENABLE_CLANG_TIDY=${ENABLE_CLANG_TIDY} \
           ${ENABLE_STD_MODULES} \
-          -DLLVM_LIT_ARGS="-sv --xunit-xml-output test-results.xml --timeout=1500 --time-tests" \
+          -DLLVM_LIT_ARGS="-v --xunit-xml-output test-results.xml --timeout=1500 --time-tests" \
           "${@}"
 }
 
@@ -372,7 +372,7 @@ bootstrapping-build)
           -DLLVM_TARGETS_TO_BUILD="host" \
           -DRUNTIMES_BUILD_ALLOW_DARWIN=ON \
           -DLLVM_ENABLE_ASSERTIONS=ON \
-          -DLLVM_LIT_ARGS="-sv --xunit-xml-output test-results.xml --timeout=1500 --time-tests"
+          -DLLVM_LIT_ARGS="-v --xunit-xml-output test-results.xml --timeout=1500 --time-tests"
 
     echo "+++ Running the libc++ and libc++abi tests"
     ${NINJA} -vC "${BUILD_DIR}" check-runtimes

>From de238731e6b1ff5d72eb378607b7fa4d014c5f0d Mon Sep 17 00:00:00 2001
From: eric <eric at efcs.ca>
Date: Tue, 14 Nov 2023 13:31:02 -0500
Subject: [PATCH 2/8] test changes

---
 .github/workflows/libcxx-build-and-test.yaml | 122 ++-----------------
 1 file changed, 10 insertions(+), 112 deletions(-)

diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml
index 55e77d0b480b2c2..fbf9a31f49f9be1 100644
--- a/.github/workflows/libcxx-build-and-test.yaml
+++ b/.github/workflows/libcxx-build-and-test.yaml
@@ -1,4 +1,4 @@
-name: Build and Test libc++
+name: Test libc++ rules
 
 on: pull_request
 concurrency:
@@ -13,126 +13,24 @@ env:
 
 # Comment
 jobs:
-  stage1:
+  test-libcxx:
+    name: "Test libcxx"
     runs-on: libcxx-runners-16
-    continue-on-error: false
-    strategy:
-      fail-fast: true
-      matrix:
-        config: [ 'generic-cxx26', 'generic-cxx03', 'generic-modules' ]
-        cc: [ 'clang-18' ]
-        cxx: [ 'clang++-18' ]
-        include:
-          - config: 'generic-gcc'
-            cc: 'gcc-13'
-            cxx: 'g++-13'
     steps:
       - uses: actions/checkout at v4
         with:
           fetch-depth: 5
-      - name: ${{ matrix.config }}.${{ matrix.cxx }}
-        run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
-        env:
-          CC: ${{ matrix.cc }}
-          CXX: ${{ matrix.cxx }}
-      - uses: actions/upload-artifact at v3
-        if: always()
-        with:
-          name: ${{ matrix.config }}-${{ matrix.cxx }}-results
-          path: |
-            "**/test-results.xml"
-            "**/*.abilist"
-  stage2:
-    runs-on: libcxx-runners-16
-    needs: [ stage1  ]
-    continue-on-error: false
-    strategy:
-      fail-fast: true
-      max-parallel: 4
-      matrix:
-        config: [ 'generic-cxx11', 'generic-cxx14', 'generic-cxx17',
-                  'generic-cxx20', 'generic-cxx23' ]
-        include:
-          - config: 'generic-gcc-cxx11'
-            cc: 'gcc-13'
-            cxx: 'g++-13'
-          - config: 'generic-cxx23'
-            cc: 'clang-16'
-            cxx: 'clang++-16'
-          - config: 'generic-cxx23'
-            cc: 'clang-17'
-            cxx: 'clang++-17'
-    steps:
-      - uses: actions/checkout at v4
-        with:
-          fetch-depth: 5
-      - name: ${{ matrix.config }}
-        run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
-        env:
-          CC: 'clang-18'
-          CXX: 'clang++-18'
-      - uses: actions/upload-artifact at v3
-        if: always()
-        with:
-          name: ${{ matrix.config }}-results
-          path: |
-            "**/test-results.xml"
-            "**/*.abilist"
-  stage3-sanitizers:
-    runs-on: libcxx-runners-16
-    needs: [ stage1, stage2 ]
-    continue-on-error: false
-    strategy:
-      fail-fast: true
-      matrix:
-        config: [ 'generic-asan', 'generic-msan', 'generic-tsan', 'generic-ubsan' ]
-    steps:
-      - uses: actions/checkout at v4
-        with:
-          fetch-depth: 5
-      - name: ${{ matrix.config }}
-        run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
-        env:
-          CC: clang-18
-          CXX: clang++-18
-      - uses: actions/upload-artifact at v3
-        if: always()
+      - id: test-rule
+        uses: libcxx/test-libcxx at v0
         with:
-          name: ${{ matrix.config }}-results
-          path: |
-            "**/test-results.xml"
-            "**/*.abilist"
-  stage3-remainder:
-    runs-on: libcxx-runners-8
-    needs: [ stage1, stage2 ]
-    continue-on-error: false
-    strategy:
-      fail-fast: true
-      max-parallel: 8
-      matrix:
-        config: [ 'generic-no-threads', 'generic-no-filesystem', 'generic-no-random_device',
-                 'generic-no-localization', 'generic-no-unicode', 'generic-no-wide-characters',
-                 'generic-no-experimental', 'generic-no-exceptions',
-                 'generic-abi-unstable',  'generic-hardening-mode-fast',
-                 'generic-hardening-mode-fast-with-abi-breaks', 'generic-hardening-mode-extensive',
-                'generic-hardening-mode-debug',
-                'generic-with_llvm_unwinder',
-                'generic-static', 'generic-merged'
-                'generic-modules-lsv', 'generic-no-tzdb']
-    steps:
-      - uses: actions/checkout at v4
-        with:
-          fetch-depth: 5
-      - name: ${{ matrix.config }}
-        run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
-        env:
-          CC: clang-18
-          CXX: clang++-18
+            config: "Generic-cxx23"
+            cc: "clang"
+            cxx: "clang++"
       - uses: actions/upload-artifact at v3
         if: always()
         with:
-          name: ${{ matrix.config }}-results
+          name: test-results
           path: |
             "**/test-results.xml"
             "**/*.abilist"
-  
+

>From ce5786fa7b1dda6d62c294cfb79b231332b6006f Mon Sep 17 00:00:00 2001
From: eric <eric at efcs.ca>
Date: Tue, 14 Nov 2023 13:35:25 -0500
Subject: [PATCH 3/8] chnages

---
 .github/workflows/libcxx-build-and-test.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml
index fbf9a31f49f9be1..107416de7a904a1 100644
--- a/.github/workflows/libcxx-build-and-test.yaml
+++ b/.github/workflows/libcxx-build-and-test.yaml
@@ -21,7 +21,7 @@ jobs:
         with:
           fetch-depth: 5
       - id: test-rule
-        uses: libcxx/test-libcxx at v0
+        uses: EricWF/test-libcxx at v0
         with:
             config: "Generic-cxx23"
             cc: "clang"

>From 958ee0056b418157792d804b55209e68396e1bff Mon Sep 17 00:00:00 2001
From: eric <eric at efcs.ca>
Date: Tue, 14 Nov 2023 13:42:06 -0500
Subject: [PATCH 4/8] changes

---
 .github/workflows/libcxx-build-and-test.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml
index 107416de7a904a1..8e2b00e53ff1d83 100644
--- a/.github/workflows/libcxx-build-and-test.yaml
+++ b/.github/workflows/libcxx-build-and-test.yaml
@@ -21,7 +21,7 @@ jobs:
         with:
           fetch-depth: 5
       - id: test-rule
-        uses: EricWF/test-libcxx at v0
+        uses: EricWF/test-libcxx at v0.0
         with:
             config: "Generic-cxx23"
             cc: "clang"

>From d0617919d9a0ea0b3bb08ea040d8dfc426c636bc Mon Sep 17 00:00:00 2001
From: eric <eric at efcs.ca>
Date: Tue, 14 Nov 2023 13:46:43 -0500
Subject: [PATCH 5/8] changes

---
 .github/workflows/libcxx-build-and-test.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml
index 8e2b00e53ff1d83..f7984eb68e50284 100644
--- a/.github/workflows/libcxx-build-and-test.yaml
+++ b/.github/workflows/libcxx-build-and-test.yaml
@@ -21,7 +21,7 @@ jobs:
         with:
           fetch-depth: 5
       - id: test-rule
-        uses: EricWF/test-libcxx at v0.0
+        uses: EricWF/test-libcxx at v0.1
         with:
             config: "Generic-cxx23"
             cc: "clang"

>From 612f4d9c4af46a13c868bd43ed200783e2d3dd1b Mon Sep 17 00:00:00 2001
From: eric <eric at efcs.ca>
Date: Tue, 14 Nov 2023 13:53:05 -0500
Subject: [PATCH 6/8] changes

---
 .github/workflows/libcxx-build-and-test.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml
index f7984eb68e50284..198a7161cd843b2 100644
--- a/.github/workflows/libcxx-build-and-test.yaml
+++ b/.github/workflows/libcxx-build-and-test.yaml
@@ -21,7 +21,7 @@ jobs:
         with:
           fetch-depth: 5
       - id: test-rule
-        uses: EricWF/test-libcxx at v0.1
+        uses: EricWF/test-libcxx at v0.2
         with:
             config: "Generic-cxx23"
             cc: "clang"

>From 1ea9f7d3f84969ba13b3a0daa9999e8fd113f70b Mon Sep 17 00:00:00 2001
From: eric <eric at efcs.ca>
Date: Tue, 14 Nov 2023 14:01:37 -0500
Subject: [PATCH 7/8] changes

---
 .github/workflows/libcxx-build-and-test.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml
index 198a7161cd843b2..8b265bd1b142004 100644
--- a/.github/workflows/libcxx-build-and-test.yaml
+++ b/.github/workflows/libcxx-build-and-test.yaml
@@ -21,7 +21,7 @@ jobs:
         with:
           fetch-depth: 5
       - id: test-rule
-        uses: EricWF/test-libcxx at v0.2
+        uses: EricWF/test-libcxx at v0.3
         with:
             config: "Generic-cxx23"
             cc: "clang"

>From 3a09b152e9b10e76db59e8545f3250abb5cbcad9 Mon Sep 17 00:00:00 2001
From: eric <eric at efcs.ca>
Date: Tue, 14 Nov 2023 14:24:43 -0500
Subject: [PATCH 8/8] changes

---
 .github/workflows/libcxx-build-and-test.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml
index 8b265bd1b142004..fdd9526841d09b6 100644
--- a/.github/workflows/libcxx-build-and-test.yaml
+++ b/.github/workflows/libcxx-build-and-test.yaml
@@ -21,7 +21,7 @@ jobs:
         with:
           fetch-depth: 5
       - id: test-rule
-        uses: EricWF/test-libcxx at v0.3
+        uses: EricWF/test-libcxx at v0.4
         with:
             config: "Generic-cxx23"
             cc: "clang"



More information about the llvm-commits mailing list