[libcxx-commits] [PATCH] D124991: [libcxx] [ci] Add a i386 Windows configuration to CI

Martin Storsjö via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu May 5 00:22:53 PDT 2022


mstorsjo created this revision.
mstorsjo added reviewers: ldionne, Mordante.
Herald added subscribers: arphaman, arichardson.
Herald added a project: All.
mstorsjo requested review of this revision.
Herald added a project: libc++.
Herald added a reviewer: libc++.

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.

A couple tests still fail in this config - they are fixed by D124989 <https://reviews.llvm.org/D124989>
and D124990 <https://reviews.llvm.org/D124990>.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D124991

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


Index: libcxx/utils/ci/run-buildbot
===================================================================
--- libcxx/utils/ci/run-buildbot
+++ libcxx/utils/ci/run-buildbot
@@ -579,6 +579,15 @@
     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
Index: libcxx/utils/ci/buildkite-pipeline.yml
===================================================================
--- libcxx/utils/ci/buildkite-pipeline.yml
+++ libcxx/utils/ci/buildkite-pipeline.yml
@@ -579,7 +579,7 @@
             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 @@
             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 @@
             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"
Index: libcxx/docs/index.rst
===================================================================
--- libcxx/docs/index.rst
+++ libcxx/docs/index.rst
@@ -118,7 +118,7 @@
 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
 =============== ========================= ============================
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D124991.427226.patch
Type: text/x-patch
Size: 2516 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220505/ca516bad/attachment-0001.bin>


More information about the libcxx-commits mailing list