@@ -12,37 +12,64 @@ jobs:
1212 name : ${{ matrix.name }}
1313 runs-on : ${{ matrix.os }}
1414 env :
15- RID : ${{ matrix.name }}
15+ RID : ${{ matrix.rid }}
16+ VARIANT : ${{ matrix.variant }}
1617 strategy :
1718 matrix :
1819 include :
1920 - os : windows-2022
2021 name : win-x86
22+ rid : win-x86
2123 param : -x86
2224 - os : windows-2022
2325 name : win-x64
26+ rid : win-x64
2427 param : -x64
2528 - os : windows-2022
2629 name : win-arm64
30+ rid : win-arm64
2731 param : -arm64
2832 - os : ubuntu-24.04
2933 name : linux-x64
34+ rid : linux-x64
35+ - os : ubuntu-24.04
36+ name : linux-x64-openssl1.1
37+ rid : linux-x64
38+ variant : openssl1.1
3039 - os : ubuntu-24.04
3140 name : linux-arm
41+ rid : linux-arm
42+ - os : ubuntu-24.04
43+ name : linux-arm-openssl1.1
44+ rid : linux-arm
45+ variant : openssl1.1
3246 - os : ubuntu-24.04
3347 name : linux-arm64
48+ rid : linux-arm64
49+ - os : ubuntu-24.04
50+ name : linux-arm64-openssl1.1
51+ rid : linux-arm64
52+ variant : openssl1.1
53+ # debian:bullseye-slim has no ppc64le manifest, so the openssl1.1
54+ # variant is omitted for this RID.
3455 - os : ubuntu-24.04
3556 name : linux-ppc64le
57+ rid : linux-ppc64le
3658 - os : ubuntu-24.04
3759 name : linux-musl-x64
60+ rid : linux-musl-x64
3861 - os : ubuntu-24.04
3962 name : linux-musl-arm
63+ rid : linux-musl-arm
4064 - os : ubuntu-24.04
4165 name : linux-musl-arm64
66+ rid : linux-musl-arm64
4267 - os : macos-26-intel
4368 name : osx-x64
69+ rid : osx-x64
4470 - os : macos-26
4571 name : osx-arm64
72+ rid : osx-arm64
4673 fail-fast : false
4774 steps :
4875 - name : Checkout
5683 if : runner.os == 'macOS'
5784 run : ./build.libgit2.sh
5885 - name : Setup QEMU
59- if : runner.os == 'Linux' && (matrix.name == 'linux-arm' || matrix.name == 'linux-arm64' || matrix.name == 'linux-ppc64le' || matrix.name == 'linux-musl-arm' || matrix.name == 'linux-musl-arm64')
86+ if : runner.os == 'Linux' && (matrix.rid == 'linux-arm' || matrix.rid == 'linux-arm64' || matrix.rid == 'linux-ppc64le' || matrix.rid == 'linux-musl-arm' || matrix.rid == 'linux-musl-arm64')
6087 uses : docker/setup-qemu-action@v4
6188 - name : Set up Docker Buildx
6289 if : runner.os == 'Linux'
6895 uses : actions/upload-artifact@v7.0.0
6996 with :
7097 name : ${{ matrix.name }}
71- path : nuget.package/runtimes/${{ matrix.name }}
98+ path : nuget.package/runtimes/${{ matrix.rid }}
7299 package :
73100 name : Create package
74101 needs : build
@@ -103,6 +130,17 @@ jobs:
103130 uses : actions/download-artifact@v8.0.1
104131 with :
105132 path : nuget.package/runtimes/
133+ - name : Merge variant artifacts into RID directories
134+ shell : bash
135+ run : |
136+ cd nuget.package/runtimes
137+ for d in *-openssl1.1; do
138+ [[ -d "$d" ]] || continue
139+ rid="${d%-openssl1.1}"
140+ mkdir -p "$rid/native"
141+ mv "$d/native/"* "$rid/native/"
142+ rm -rf "$d"
143+ done
106144 - name : Create package
107145 run : dotnet pack nuget.package ${{ steps.version.outputs.override && format('/p:MinVerVersionOverride={0}', steps.version.outputs.override) || '' }}
108146 - name : Upload NuGet package
0 commit comments