@@ -232,6 +232,9 @@ jobs:
232232 runs-on : ubuntu-latest
233233 environment : release
234234 needs : prereqs
235+ strategy :
236+ matrix :
237+ runtime : [ linux-x64, linux-arm64, linux-arm ]
235238 steps :
236239 - uses : actions/checkout@v4
237240
@@ -241,7 +244,10 @@ jobs:
241244 dotnet-version : 8.0.x
242245
243246 - 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 }}
245251
246252 - name : Run Linux unit tests
247253 run : |
@@ -286,18 +292,18 @@ jobs:
286292 run : |
287293 # Sign Debian package
288294 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
291297
292298 # Generate tarball signature file
293299 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
296302
297303 - name : Upload artifacts
298304 uses : actions/upload-artifact@v4
299305 with :
300- name : linux -artifacts
306+ name : ${{ matrix.runtime }} -artifacts
301307 path : |
302308 ./*.deb
303309 ./*.asc
@@ -486,9 +492,9 @@ jobs:
486492 matrix :
487493 component :
488494 - os : ubuntu-latest
489- artifact : linux-artifacts
495+ artifact : linux-x64- artifacts
490496 command : git-credential-manager
491- description : linux
497+ description : linux-x64
492498 - os : macos-latest
493499 artifact : macos-osx-x64-artifacts
494500 command : git-credential-manager
@@ -530,15 +536,15 @@ jobs:
530536 Start-Process -Wait -FilePath "$exePath" -ArgumentList "/SILENT /VERYSILENT /NORESTART"
531537 }
532538
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 ')
535541 run : |
536542 debpath=$(find ./*.deb)
537543 sudo apt install $debpath
538544 "${{ matrix.component.command }}" configure
539545
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 ')
542548 run : |
543549 # Ensure we find only the source tarball, not the symbols
544550 tarpath=$(find . -name '*[[:digit:]].tar.gz')
@@ -618,7 +624,9 @@ jobs:
618624 az keyvault secret show --name "$GPG_PUBLIC_KEY_SECRET_NAME" \
619625 --vault-name "$AZURE_VAULT" --query "value" \
620626 | 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
622630
623631 - uses : actions/github-script@v7
624632 with :
@@ -675,7 +683,9 @@ jobs:
675683 uploadDirectoryToRelease('osx-payload-and-symbols'),
676684
677685 // Upload Linux artifacts
678- uploadDirectoryToRelease('linux-artifacts'),
686+ uploadDirectoryToRelease('linux-x64-artifacts'),
687+ uploadDirectoryToRelease('linux-arm64-artifacts'),
688+ uploadDirectoryToRelease('linux-arm-artifacts'),
679689
680690 // Upload .NET tool package
681691 uploadDirectoryToRelease('dotnet-tool-sign'),
0 commit comments