@@ -232,6 +232,9 @@ jobs:
232
232
runs-on : ubuntu-latest
233
233
environment : release
234
234
needs : prereqs
235
+ strategy :
236
+ matrix :
237
+ runtime : [ linux-x64, linux-arm64, linux-arm ]
235
238
steps :
236
239
- uses : actions/checkout@v4
237
240
@@ -241,7 +244,10 @@ jobs:
241
244
dotnet-version : 8.0.x
242
245
243
246
- name : Build
244
- run : dotnet build --configuration=LinuxRelease
247
+ run : |
248
+ dotnet build src/linux/Packaging.Linux/*.csproj \
249
+ --configuration=LinuxRelease --no-self-contained \
250
+ --runtime=${{ matrix.runtime }}
245
251
246
252
- name : Run Linux unit tests
247
253
run : |
@@ -286,18 +292,18 @@ jobs:
286
292
run : |
287
293
# Sign Debian package
288
294
version=${{ needs.prereqs.outputs.version }}
289
- mv out/linux/Packaging.Linux/Release/deb/gcm-linux_amd64 .$version.deb .
290
- debsigs --sign=origin --verify --check gcm-linux_amd64 .$version.deb
295
+ mv out/linux/Packaging.Linux/Release/deb/gcm-${{ matrix.runtime }} .$version.deb .
296
+ debsigs --sign=origin --verify --check gcm-${{ matrix.runtime }} .$version.deb
291
297
292
298
# Generate tarball signature file
293
299
mv -v out/linux/Packaging.Linux/Release/tar/* .
294
- gpg --batch --yes --armor --output gcm-linux_amd64 .$version.tar.gz.asc \
295
- --detach-sig gcm-linux_amd64 .$version.tar.gz
300
+ gpg --batch --yes --armor --output gcm-${{ matrix.runtime }} .$version.tar.gz.asc \
301
+ --detach-sig gcm-${{ matrix.runtime }} .$version.tar.gz
296
302
297
303
- name : Upload artifacts
298
304
uses : actions/upload-artifact@v4
299
305
with :
300
- name : linux -artifacts
306
+ name : ${{ matrix.runtime }} -artifacts
301
307
path : |
302
308
./*.deb
303
309
./*.asc
@@ -486,9 +492,9 @@ jobs:
486
492
matrix :
487
493
component :
488
494
- os : ubuntu-latest
489
- artifact : linux-artifacts
495
+ artifact : linux-x64- artifacts
490
496
command : git-credential-manager
491
- description : linux
497
+ description : linux-x64
492
498
- os : macos-latest
493
499
artifact : macos-osx-x64-artifacts
494
500
command : git-credential-manager
@@ -530,15 +536,15 @@ jobs:
530
536
Start-Process -Wait -FilePath "$exePath" -ArgumentList "/SILENT /VERYSILENT /NORESTART"
531
537
}
532
538
533
- - name : Install Linux (Debian package)
534
- if : contains(matrix.component.description, 'linux')
539
+ - name : Install Linux x64 (Debian package)
540
+ if : contains(matrix.component.description, 'linux-x64 ')
535
541
run : |
536
542
debpath=$(find ./*.deb)
537
543
sudo apt install $debpath
538
544
"${{ matrix.component.command }}" configure
539
545
540
- - name : Install Linux (tarball)
541
- if : contains(matrix.component.description, 'linux')
546
+ - name : Install Linux x64 (tarball)
547
+ if : contains(matrix.component.description, 'linux-x64 ')
542
548
run : |
543
549
# Ensure we find only the source tarball, not the symbols
544
550
tarpath=$(find . -name '*[[:digit:]].tar.gz')
@@ -618,7 +624,9 @@ jobs:
618
624
az keyvault secret show --name "$GPG_PUBLIC_KEY_SECRET_NAME" \
619
625
--vault-name "$AZURE_VAULT" --query "value" \
620
626
| sed -e 's/^"//' -e 's/"$//' | base64 -d >gcm-public.asc
621
- mv gcm-public.asc linux-artifacts
627
+ cp gcm-public.asc linux-x64-artifacts/
628
+ cp gcm-public.asc linux-arm64-artifacts/
629
+ mv gcm-public.asc linux-arm-artifacts
622
630
623
631
- uses : actions/github-script@v7
624
632
with :
@@ -675,7 +683,9 @@ jobs:
675
683
uploadDirectoryToRelease('osx-payload-and-symbols'),
676
684
677
685
// Upload Linux artifacts
678
- uploadDirectoryToRelease('linux-artifacts'),
686
+ uploadDirectoryToRelease('linux-x64-artifacts'),
687
+ uploadDirectoryToRelease('linux-arm64-artifacts'),
688
+ uploadDirectoryToRelease('linux-arm-artifacts'),
679
689
680
690
// Upload .NET tool package
681
691
uploadDirectoryToRelease('dotnet-tool-sign'),
0 commit comments