From 4a0bb3265bd6ecb7f98f74357579353abaa005be Mon Sep 17 00:00:00 2001 From: Mark de Wever Date: Fri, 26 Apr 2024 18:24:12 +0200 Subject: [PATCH] Updates the patch and remove debug informatiom. --- .github/workflows/libcxx-build-and-test.yaml | 156 +++++++++++++++++++ libcxx/test/CMakeLists.txt | 4 +- libcxx/utils/libcxx/test/params.py | 4 - 3 files changed, 159 insertions(+), 5 deletions(-) diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml index f03c9f506712c5..44a3d79c72c0ac 100644 --- a/.github/workflows/libcxx-build-and-test.yaml +++ b/.github/workflows/libcxx-build-and-test.yaml @@ -55,10 +55,16 @@ jobs: fail-fast: false matrix: config: [ + 'generic-cxx03', 'generic-cxx26', + 'generic-modules' ] cc: [ 'clang-19' ] cxx: [ 'clang++-19' ] + include: + - config: 'generic-gcc' + cc: 'gcc-13' + cxx: 'g++-13' steps: - uses: actions/checkout@v4 - name: ${{ matrix.config }}.${{ matrix.cxx }} @@ -76,3 +82,153 @@ jobs: **/CMakeError.log **/CMakeOutput.log **/crash_diagnostics/* + stage2: + if: github.repository_owner == 'llvm' + runs-on: libcxx-runners-8-set + needs: [ stage1 ] + continue-on-error: false + strategy: + fail-fast: false + matrix: + config: [ + 'generic-cxx11', + 'generic-cxx14', + 'generic-cxx17', + 'generic-cxx20', + 'generic-cxx23' + ] + cc: [ 'clang-19' ] + cxx: [ 'clang++-19' ] + include: + - config: 'generic-gcc-cxx11' + cc: 'gcc-13' + cxx: 'g++-13' + - config: 'generic-cxx23' + cc: 'clang-17' + cxx: 'clang++-17' + - config: 'generic-cxx26' + cc: 'clang-18' + cxx: 'clang++-18' + steps: + - uses: actions/checkout@v4 + - name: ${{ matrix.config }} + run: libcxx/utils/ci/run-buildbot ${{ matrix.config }} + env: + CC: ${{ matrix.cc }} + CXX: ${{ matrix.cxx }} + - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0 + if: always() # Upload artifacts even if the build or test suite fails + with: + name: ${{ matrix.config }}-${{ matrix.cxx }}-results + path: | + **/test-results.xml + **/*.abilist + **/CMakeError.log + **/CMakeOutput.log + **/crash_diagnostics/* + stage3: + if: github.repository_owner == 'llvm' + needs: [ stage1, stage2 ] + continue-on-error: false + strategy: + fail-fast: false + max-parallel: 8 + matrix: + config: [ + 'generic-abi-unstable', + 'generic-hardening-mode-debug', + 'generic-hardening-mode-extensive', + 'generic-hardening-mode-fast', + 'generic-hardening-mode-fast-with-abi-breaks', + 'generic-merged', + 'generic-modules-lsv', + 'generic-no-exceptions', + 'generic-no-experimental', + 'generic-no-filesystem', + 'generic-no-localization', + 'generic-no-random_device', + 'generic-no-threads', + 'generic-no-tzdb', + 'generic-no-unicode', + 'generic-no-wide-characters', + 'generic-no-rtti', + 'generic-optimized-speed', + 'generic-static', + # TODO Find a better place for the benchmark and bootstrapping builds to live. They're either very expensive + # or don't provide much value since the benchmark run results are too noise on the bots. + 'benchmarks', + 'bootstrapping-build' + ] + machine: [ 'libcxx-runners-8-set' ] + include: + - config: 'generic-cxx26' + machine: libcxx-runners-8-set + - config: 'generic-asan' + machine: libcxx-runners-8-set + - config: 'generic-tsan' + machine: libcxx-runners-8-set + - config: 'generic-ubsan' + machine: libcxx-runners-8-set + # Use a larger machine for MSAN to avoid timeout and memory allocation issues. + - config: 'generic-msan' + machine: libcxx-runners-8-set + runs-on: ${{ matrix.machine }} + steps: + - uses: actions/checkout@v4 + - name: ${{ matrix.config }} + run: libcxx/utils/ci/run-buildbot ${{ matrix.config }} + env: + CC: clang-19 + CXX: clang++-19 + - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0 + if: always() + with: + name: ${{ matrix.config }}-results + path: | + **/test-results.xml + **/*.abilist + **/CMakeError.log + **/CMakeOutput.log + **/crash_diagnostics/* + windows: + runs-on: windows-2022 + needs: [ stage1 ] + strategy: + fail-fast: false + matrix: + include: + - { config: clang-cl-dll, mingw: false } + - { config: clang-cl-static, mingw: false } + - { config: clang-cl-no-vcruntime, mingw: false } + - { config: clang-cl-debug, mingw: false } + - { config: clang-cl-static-crt, mingw: false } + - { config: mingw-dll, mingw: true } + - { config: mingw-static, mingw: true } + - { config: mingw-dll-i686, mingw: true } + steps: + - uses: actions/checkout@v4 + - name: Install dependencies + run: | + choco install -y ninja wget + pip install psutil + - name: Install a current LLVM + if: ${{ matrix.mingw != true }} + run: | + choco install -y llvm --version=17.0.6 + - name: Install llvm-mingw + if: ${{ matrix.mingw == true }} + run: | + curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20231128/llvm-mingw-20231128-ucrt-x86_64.zip + powershell Expand-Archive llvm-mingw*.zip -DestinationPath . + del llvm-mingw*.zip + mv llvm-mingw* c:\llvm-mingw + echo "c:\llvm-mingw\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append + - name: Add Git Bash to the path + run: | + echo "c:\Program Files\Git\usr\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append + - name: Set up the MSVC dev environment + if: ${{ matrix.mingw != true }} + uses: ilammy/msvc-dev-cmd@v1 + - name: Build and test + run: | + bash libcxx/utils/ci/run-buildbot ${{ matrix.config }} diff --git a/libcxx/test/CMakeLists.txt b/libcxx/test/CMakeLists.txt index 25d5b6c783fbec..fd57aa9fe8b375 100644 --- a/libcxx/test/CMakeLists.txt +++ b/libcxx/test/CMakeLists.txt @@ -1,5 +1,8 @@ include(HandleLitArguments) add_subdirectory(tools) +# When the tools add clang-tidy support, the dependencies need to be updated. +# This cannot be done in the tools CMakeLists.txt since that does not update +# the status in this (a parent) directory. if(TARGET cxx-tidy) list(APPEND LIBCXX_TEST_DEPS cxx-tidy) endif() @@ -76,7 +79,6 @@ if (LIBCXX_INCLUDE_TESTS) ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg MAIN_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py") - MESSAGE("XXX ${LIBCXX_TEST_DEPS}") add_custom_target(cxx-test-depends DEPENDS cxx ${LIBCXX_TEST_DEPS} COMMENT "Builds dependencies required to run the test suite.") diff --git a/libcxx/utils/libcxx/test/params.py b/libcxx/utils/libcxx/test/params.py index 83a84d6f50cd8d..c2d294e49f4884 100644 --- a/libcxx/utils/libcxx/test/params.py +++ b/libcxx/utils/libcxx/test/params.py @@ -126,7 +126,6 @@ def getSuitableClangTidy(cfg): ) != 0 ): - print("CLANG-TIDY: no plugin") return None version = "{__clang_major__}.{__clang_minor__}.{__clang_patchlevel__}".format( @@ -136,11 +135,8 @@ def getSuitableClangTidy(cfg): cfg, version, "clang-tidy-{__clang_major__}".format(**compilerMacros(cfg)) ) - print(f"CLANG-TIDY: version={version} exe={exe}") - if not exe: exe = testClangTidy(cfg, version, "clang-tidy") - print(f"CLANG-TIDY: new exe={exe}") return exe