This is an automated email from the ASF dual-hosted git repository.

raulcd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new a0d2885b10 GH-49930: [CI][C++] Pin MinGW MSYS2 packages to unblock CI 
(#49931)
a0d2885b10 is described below

commit a0d2885b101acb439f7f79ec2237028974e74e64
Author: tadeja <[email protected]>
AuthorDate: Thu May 7 16:18:56 2026 +0200

    GH-49930: [CI][C++] Pin MinGW MSYS2 packages to unblock CI (#49931)
    
    ### Rationale for this change
    Temporary workaround for #49930!
    Both MinGW jobs fail every run since 2026 April 30 from two MSYS2 updates:
    1. MINGW64: `gcc 15.2 -> 16.1` deterministically breaks 4 tests 
(`arrow-async-utility-test`, `arrow-threading-utility-test`, 
`arrow-dataset-dataset-writer-test`, `arrow-dataset-file-test`)
    See #49930 for per-test status (and the connection to #49272/#49462).
    2. MINGW64 and CLANG64: `arrow-s3fs-test` fails - `aws-sdk-cpp 1.11.479 -> 
1.11.801` stopped sending `Content-Md5` on `DeleteObjects`, but bundled MinIO 
`RELEASE.2024-09-13` still requires it.
    
    ### What changes are included in this PR?
    a) Workaround for 1.: new temporary `Pin MSYS2 packages` step on MINGW64 
(CLANG64 is unaffected). Pins `gcc-libs` to 15.2 plus C++ packages for ABI 
compatibility.
    **Removable** when all #49930-tracked failures pass on current upstream 
MSYS2.
    
    b) Resolves 2.: bump bundled MinIO to `RELEASE.2025-01-20T14-49-07Z` to 
match `ci/scripts/install_minio.sh` (per review). See further discussion about 
migrating from MinIO in #47908
    
    ### Are these changes tested?
    CI
    [failing without 
pins](https://github.com/apache/arrow/actions/runs/25442601074/job/74637722454) 
->
    
[passing](https://github.com/apache/arrow/actions/runs/25479824734/job/74761254697)
    
    ### Are there any user-facing changes?
    No
    * GitHub Issue: #49930
    
    Authored-by: Tadeja Kadunc <[email protected]>
    Signed-off-by: Raúl Cumplido <[email protected]>
---
 .github/workflows/cpp.yml | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/cpp.yml b/.github/workflows/cpp.yml
index 51fb5ead5d..b2acdab3fd 100644
--- a/.github/workflows/cpp.yml
+++ b/.github/workflows/cpp.yml
@@ -366,6 +366,40 @@ jobs:
       - name: Setup MSYS2
         shell: msys2 {0}
         run: ci/scripts/msys2_setup.sh cpp
+      - name: Pin MSYS2 packages
+        # Temporary workaround for #49930: gcc 16 surfaces a cluster of 5
+        # MINGW64 test failures. Pinning gcc-libs to 15.2 (and C++ packages
+        # rebuilt against gcc-libs 16.1, for ABI compatibility) avoids all
+        # of them. #49272/#49462 cover one (arrow-json-test); the other 4
+        # (async-utility-test, threading-utility-test, dataset-writer-test
+        # `bad_weak_ptr`, dataset-file-test) need separate fixes — see #49930.
+        # Remove once all 5 pass on current upstream MSYS2 without these pins
+        if: matrix.msystem_upper == 'MINGW64'
+        shell: msys2 {0}
+        run: |
+          set -ex
+          base="https://repo.msys2.org/mingw/mingw64";
+          urls=(
+            "$base/mingw-w64-x86_64-gcc-libs-15.2.0-14-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-gcc-15.2.0-14-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-aws-crt-cpp-0.38.4-1-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-boost-libs-1.91.0-1-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-boost-1.91.0-1-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-ccache-4.13.2-1-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-clang-libs-22.1.4-1-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-clang-22.1.4-1-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-cmake-4.3.2-2-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-icu-78.3-1-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-llvm-libs-22.1.4-1-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-llvm-tools-22.1.4-1-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-llvm-22.1.4-1-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-tbb-2022.3.0-1-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-thrift-0.22.0-1-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-zstd-1.5.7-1-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-gflags-2.2.2-7-any.pkg.tar.zst"
+            "$base/mingw-w64-x86_64-aws-sdk-cpp-1.11.479-1-any.pkg.tar.zst"
+          )
+          pacman -U --noconfirm "${urls[@]}"
       - name: Cache ccache
         uses: actions/cache@v5
         with:
@@ -386,12 +420,13 @@ jobs:
           # https://github.com/apache/arrow/issues/48593
           ci/scripts/download_tz_database.sh
       - name: Download MinIO
+        # Match the version pinned in ci/scripts/install_minio.sh.
         shell: msys2 {0}
         run: |
           mkdir -p /usr/local/bin
           wget \
             --output-document /usr/local/bin/minio.exe \
-            
https://dl.min.io/server/minio/release/windows-amd64/archive/minio.RELEASE.2024-09-13T20-26-02Z
+            
https://dl.min.io/server/minio/release/windows-amd64/archive/minio.RELEASE.2025-01-20T14-49-07Z
           chmod +x /usr/local/bin/minio.exe
       - name: Set up Python
         uses: actions/setup-python@v6

Reply via email to