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

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


The following commit(s) were added to refs/heads/main by this push:
     new 680f92f3f chore: extend AOT testing to cover Linux and MacOS (#4325)
680f92f3f is described below

commit 680f92f3f374644caa8c0ec9c34267641c6fc6de
Author: Curt Hagenlocher <[email protected]>
AuthorDate: Tue May 19 14:06:33 2026 -0700

    chore: extend AOT testing to cover Linux and MacOS (#4325)
---
 .github/workflows/csharp.yml | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/.github/workflows/csharp.yml b/.github/workflows/csharp.yml
index 97f5c403f..839f3303c 100644
--- a/.github/workflows/csharp.yml
+++ b/.github/workflows/csharp.yml
@@ -74,12 +74,24 @@ jobs:
   # and exercises it through the managed CAdbcDriverImporter. This catches
   # AOT regressions (trim-unsafe reflection, missing exports, broken C-ABI
   # marshaling) on both the import and export halves of 
csharp/src/Apache.Arrow.Adbc/C.
-  # Windows-only for now; the MSVC setup step below is Windows-specific.
   csharp-aot:
-    name: "C# NativeAOT fixture interop (windows-2022)"
-    runs-on: windows-2022
+    name: "C# NativeAOT fixture interop (${{ matrix.os }})"
+    runs-on: ${{ matrix.os }}
     if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
     timeout-minutes: 30
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - os: windows-2022
+            rid: win-x64
+            lib-name: Apache.Arrow.Adbc.TestFixture.Native.dll
+          - os: ubuntu-latest
+            rid: linux-x64
+            lib-name: Apache.Arrow.Adbc.TestFixture.Native.so
+          - os: macos-latest
+            rid: osx-arm64
+            lib-name: Apache.Arrow.Adbc.TestFixture.Native.dylib
     steps:
       - name: Checkout ADBC
         uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 
v6.0.2
@@ -94,6 +106,7 @@ jobs:
           # available SDK; preview tags may be needed until GA.
           dotnet-version: '10.0.x'
       - name: Setup MSVC (for NativeAOT linker)
+        if: runner.os == 'Windows'
         # Third-party action; activates vcvars64 so ilc's downstream
         # link.exe step can find link.exe/lib.exe and the Windows SDK.
         uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756  # 
v1
@@ -102,13 +115,12 @@ jobs:
         run: |
           dotnet publish \
             
csharp/test/AotInterop/Apache.Arrow.Adbc.TestFixture.Native/Apache.Arrow.Adbc.TestFixture.Native.csproj
 \
-            -c Release -r win-x64 \
+            -c Release -r ${{ matrix.rid }} \
             -o csharp/artifacts/aot-fixture
       - name: Run AOT interop tests
         shell: bash
         env:
-          # Consumer test loads this DLL through CAdbcDriverImporter.
-          ADBC_TEST_AOT_FIXTURE_PATH: ${{ github.workspace 
}}/csharp/artifacts/aot-fixture/Apache.Arrow.Adbc.TestFixture.Native.dll
+          ADBC_TEST_AOT_FIXTURE_PATH: ${{ github.workspace 
}}/csharp/artifacts/aot-fixture/${{ matrix.lib-name }}
         run: |
           dotnet test \
             
csharp/test/AotInterop/Apache.Arrow.Adbc.TestFixture.Tests/Apache.Arrow.Adbc.TestFixture.Tests.csproj
 \

Reply via email to