[libcxx-commits] [libcxx] 30194d4 - [libcxx] [ci] Add a i386 Windows configuration to CI

Martin Storsjö via libcxx-commits libcxx-commits at lists.llvm.org
Fri May 6 00:12:55 PDT 2022


Author: Martin Storsjö
Date: 2022-05-06T10:12:04+03:00
New Revision: 30194d45f0b8941acfff20183ab4def84a49daf3

URL: https://github.com/llvm/llvm-project/commit/30194d45f0b8941acfff20183ab4def84a49daf3
DIFF: https://github.com/llvm/llvm-project/commit/30194d45f0b8941acfff20183ab4def84a49daf3.diff

LOG: [libcxx] [ci] Add a i386 Windows configuration to CI

Adding a mingw based config is easy in the current CI environment
(where we can just choose the different target by calling
`i686-w64-mingw32-clang`), while adding a clang-cl based config would
require setting up different environment variables pointing to the
i386 library directory.

Just adding one config (DLL) instead of exhaustively testing both
(DLL and static) as very few tests would differ in practice, to keep
the CI load reasonable.

Differential Revision: https://reviews.llvm.org/D124991

Added: 
    

Modified: 
    libcxx/docs/index.rst
    libcxx/utils/ci/buildkite-pipeline.yml
    libcxx/utils/ci/run-buildbot

Removed: 
    


################################################################################
diff  --git a/libcxx/docs/index.rst b/libcxx/docs/index.rst
index 1ebbbec93dfc..b953e9048732 100644
--- a/libcxx/docs/index.rst
+++ b/libcxx/docs/index.rst
@@ -118,7 +118,7 @@ Target platform Target architecture       Notes
 macOS 10.9+     i386, x86_64, arm64       Building the shared library itself requires targetting macOS 10.11+
 FreeBSD 10+     i386, x86_64, arm
 Linux           i386, x86_64, arm, arm64
-Windows         x86_64                    Both MSVC and MinGW style environments
+Windows         i386, x86_64              Both MSVC and MinGW style environments
 AIX             powerpc, powerpc64
 =============== ========================= ============================
 

diff  --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
index d5896cbe7449..c6496b2510d5 100644
--- a/libcxx/utils/ci/buildkite-pipeline.yml
+++ b/libcxx/utils/ci/buildkite-pipeline.yml
@@ -579,7 +579,7 @@ steps:
             limit: 2
       timeout_in_minutes: 120
 
-    - label: "MinGW (DLL)"
+    - label: "MinGW (DLL, x86_64)"
       command: "bash libcxx/utils/ci/run-buildbot mingw-dll"
       artifact_paths:
         - "**/test-results.xml"
@@ -592,7 +592,7 @@ steps:
             limit: 2
       timeout_in_minutes: 120
 
-    - label: "MinGW (Static)"
+    - label: "MinGW (Static, x86_64)"
       command: "bash libcxx/utils/ci/run-buildbot mingw-static"
       artifact_paths:
         - "**/test-results.xml"
@@ -605,6 +605,19 @@ steps:
             limit: 2
       timeout_in_minutes: 120
 
+    - label: "MinGW (DLL, i686)"
+      command: "bash libcxx/utils/ci/run-buildbot mingw-dll-i686"
+      artifact_paths:
+        - "**/test-results.xml"
+        - "**/*.abilist"
+      agents:
+        queue: "windows"
+      retry:
+        automatic:
+          - exit_status: -1  # Agent was lost
+            limit: 2
+      timeout_in_minutes: 120
+
   - group: ":apple: Apple"
     steps:
     - label: "MacOS x86_64"

diff  --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
index f526097baefb..4ff71500465e 100755
--- a/libcxx/utils/ci/run-buildbot
+++ b/libcxx/utils/ci/run-buildbot
@@ -579,6 +579,15 @@ mingw-static)
     echo "+++ Running the libc++ tests"
     ${NINJA} -vC "${BUILD_DIR}" check-cxx
 ;;
+mingw-dll-i686)
+    clean
+    generate-cmake \
+          -DCMAKE_C_COMPILER=i686-w64-mingw32-clang \
+          -DCMAKE_CXX_COMPILER=i686-w64-mingw32-clang++ \
+          -C "${MONOREPO_ROOT}/libcxx/cmake/caches/MinGW.cmake"
+    echo "+++ Running the libc++ tests"
+    ${NINJA} -vC "${BUILD_DIR}" check-cxx
+;;
 aix)
     export CC=ibm-clang
     export CXX=ibm-clang++_r


        


More information about the libcxx-commits mailing list