@@ -475,36 +475,64 @@ jobs:
475475 if : ${{ matrix.os == 'windows' && matrix.project == 'devolutions-agent' }}
476476 run : |
477477 $PackageRoot = Join-Path ${{ runner.temp }} ${{ matrix.project}}
478- gh run download ${{ needs.preflight.outputs.run }} -n tun2socks-windows-x64 -D " $PackageRoot\tun2socks"
478+ gh run download ${{ needs.preflight.outputs.run }} -n tun2socks-windows -D (Join-Path $PackageRoot windows)
479479 shell : pwsh
480480 env :
481481 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
482482
483- - name : Regenerate Agent MSI
483+ - name : Regenerate and Repackage Agent MSI
484484 if : ${{ matrix.project == 'devolutions-agent' && matrix.os == 'windows' }}
485485 run : |
486- $PackageRoot = Join-Path ${{ runner.temp }} ${{ matrix.project}}
487- $x64Root = Join-Path $PackageRoot windows x64
488-
489- $Env:DAGENT_EXECUTABLE = Get-ChildItem -Path $x64Root -Filter 'DevolutionsAgent.exe' -File | Select -First 1
490- $Env:DAGENT_UPDATER_EXECUTABLE = Get-ChildItem -Path $x64Root -Filter 'DevolutionsAgentUpdater.exe' -File | Select -First 1
491- $Env:DAGENT_DESKTOP_AGENT_PATH = Resolve-Path -Path "devolutions-pedm-desktop"
492- $Env:DAGENT_PEDM_SHELL_EXT_DLL = Get-ChildItem -Path $x64Root -Filter 'DevolutionsPedmShellExt.dll' -File | Select -First 1
493- $Env:DAGENT_PEDM_SHELL_EXT_MSIX = Get-ChildItem -Path $x64Root -Filter 'DevolutionsPedmShellExt.msix' -File | Select -First 1
494- $Env:DAGENT_SESSION_EXECUTABLE = Get-ChildItem -Path $x64Root -Filter 'DevolutionsSession.exe' -File | Select -First 1
495- $Env:DAGENT_TUN2SOCKS_EXE = Get-ChildItem -Path $PackageRoot -Recurse -Filter 'tun2socks.exe' -File | Select -First 1
496- $Env:DAGENT_WINTUN_DLL = Get-ChildItem -Path $PackageRoot -Recurse -Filter 'wintun.dll' -File | Select -First 1
497-
498- Write-Host "DAGENT_EXECUTABLE = ${Env:DAGENT_EXECUTABLE}"
499- Write-Host "DAGENT_UPDATER_EXECUTABLE = ${Env:DAGENT_UPDATER_EXECUTABLE}"
500- Write-Host "DAGENT_DESKTOP_AGENT_PATH = ${Env:DAGENT_DESKTOP_AGENT_PATH}"
501- Write-Host "DAGENT_PEDM_SHELL_EXT_DLL = ${Env:DAGENT_PEDM_SHELL_EXT_DLL}"
502- Write-Host "DAGENT_PEDM_SHELL_EXT_MSIX = ${Env:DAGENT_PEDM_SHELL_EXT_MSIX}"
503- Write-Host "DAGENT_SESSION_EXECUTABLE = ${Env:DAGENT_SESSION_EXECUTABLE}"
504- Write-Host "DAGENT_TUN2SOCKS_EXE = ${Env:DAGENT_TUN2SOCKS_EXE}"
505- Write-Host "DAGENT_WINTUN_DLL = ${Env:DAGENT_WINTUN_DLL}"
506-
507- ./ci/tlk.ps1 package -Product agent -PackageOption generate
486+ $PackageRoot = Join-Path ${{ runner.temp }} devolutions-agent
487+
488+ foreach ($Arch in @('x64', 'arm64')) {
489+ $ArchRoot = Join-Path $PackageRoot windows $Arch
490+
491+ $Env:DAGENT_EXECUTABLE = Get-ChildItem -Path $ArchRoot -Filter 'DevolutionsAgent.exe' -File | Select-Object -First 1
492+ $Env:DAGENT_UPDATER_EXECUTABLE = Get-ChildItem -Path $ArchRoot -Filter 'DevolutionsAgentUpdater.exe' -File | Select-Object -First 1
493+ $Env:DAGENT_DESKTOP_AGENT_PATH = Resolve-Path -Path "devolutions-pedm-desktop"
494+ $Env:DAGENT_PEDM_SHELL_EXT_DLL = Get-ChildItem -Path $ArchRoot -Filter 'DevolutionsPedmShellExt.dll' -File | Select-Object -First 1
495+ $Env:DAGENT_PEDM_SHELL_EXT_MSIX = Get-ChildItem -Path $ArchRoot -Filter 'DevolutionsPedmShellExt.msix' -File | Select-Object -First 1
496+ $Env:DAGENT_SESSION_EXECUTABLE = Get-ChildItem -Path $ArchRoot -Filter 'DevolutionsSession.exe' -File | Select-Object -First 1
497+ $Env:DAGENT_TUN2SOCKS_EXE = Join-Path $ArchRoot 'tun2socks.exe'
498+ $Env:DAGENT_WINTUN_DLL = Join-Path $ArchRoot 'wintun.dll'
499+
500+ Write-Host "=== Regenerate Agent MSI ($Arch) ==="
501+ Write-Host "DAGENT_EXECUTABLE = ${Env:DAGENT_EXECUTABLE}"
502+ Write-Host "DAGENT_UPDATER_EXECUTABLE = ${Env:DAGENT_UPDATER_EXECUTABLE}"
503+ Write-Host "DAGENT_DESKTOP_AGENT_PATH = ${Env:DAGENT_DESKTOP_AGENT_PATH}"
504+ Write-Host "DAGENT_PEDM_SHELL_EXT_DLL = ${Env:DAGENT_PEDM_SHELL_EXT_DLL}"
505+ Write-Host "DAGENT_PEDM_SHELL_EXT_MSIX = ${Env:DAGENT_PEDM_SHELL_EXT_MSIX}"
506+ Write-Host "DAGENT_SESSION_EXECUTABLE = ${Env:DAGENT_SESSION_EXECUTABLE}"
507+ Write-Host "DAGENT_TUN2SOCKS_EXE = ${Env:DAGENT_TUN2SOCKS_EXE}"
508+ Write-Host "DAGENT_WINTUN_DLL = ${Env:DAGENT_WINTUN_DLL}"
509+
510+ ./ci/tlk.ps1 package -Product agent -PackageOption generate -Architecture $Arch
511+
512+ # Sign the generated runtime EXEs before assembling the MSI
513+ Get-ChildItem -Path "package/AgentWindowsManaged/Release" -Filter "*.exe" | ForEach-Object {
514+ $Params = @('sign',
515+ '-kvt', '${{ secrets.AZURE_TENANT_ID }}',
516+ '-kvu', '${{ secrets.CODE_SIGNING_KEYVAULT_URL }}',
517+ '-kvi', '${{ secrets.CODE_SIGNING_CLIENT_ID }}',
518+ '-kvs', '${{ secrets.CODE_SIGNING_CLIENT_SECRET }}',
519+ '-kvc', '${{ secrets.CODE_SIGNING_CERTIFICATE_NAME }}',
520+ '-tr', '${{ vars.CODE_SIGNING_TIMESTAMP_SERVER }}',
521+ '-v')
522+ AzureSignTool @Params $_.FullName
523+ }
524+
525+ $Env:DAGENT_PACKAGE = Join-Path $ArchRoot 'DevolutionsAgent.msi'
526+ ./ci/tlk.ps1 package -Product agent -PackageOption assemble
527+
528+ # Remove arch-specific files that should not appear in the signed artifact
529+ @((Join-Path $ArchRoot DesktopAgent),
530+ (Get-ChildItem -Path $ArchRoot -Filter 'DevolutionsPedmShellExt.dll' | Select-Object -First 1),
531+ (Get-ChildItem -Path $ArchRoot -Filter 'DevolutionsPedmShellExt.msix' | Select-Object -First 1),
532+ (Get-ChildItem -Path $ArchRoot -Filter 'DevolutionsSession.exe' | Select-Object -First 1)) | ForEach-Object {
533+ Remove-Item $_ -Recurse -ErrorAction SilentlyContinue | Out-Null
534+ }
535+ }
508536 shell : pwsh
509537
510538 - name : Sign Gateway MSI runtime
@@ -524,23 +552,6 @@ jobs:
524552 shell : pwsh
525553 working-directory : package/WindowsManaged/Release
526554
527- - name : Sign Agent MSI runtime
528- if : ${{ matrix.project == 'devolutions-agent' && matrix.os == 'windows' }}
529- run : |
530- Get-ChildItem -Path .\* -Include "*.exe" | % {
531- $Params = @('sign',
532- '-kvt', '${{ secrets.AZURE_TENANT_ID }}',
533- '-kvu', '${{ secrets.CODE_SIGNING_KEYVAULT_URL }}',
534- '-kvi', '${{ secrets.CODE_SIGNING_CLIENT_ID }}',
535- '-kvs', '${{ secrets.CODE_SIGNING_CLIENT_SECRET }}',
536- '-kvc', '${{ secrets.CODE_SIGNING_CERTIFICATE_NAME }}',
537- '-tr', '${{ vars.CODE_SIGNING_TIMESTAMP_SERVER }}',
538- '-v')
539- AzureSignTool @Params $_.FullName
540- }
541- shell : pwsh
542- working-directory : package/AgentWindowsManaged/Release
543-
544555 - name : Repackage Gateway
545556 if : ${{ matrix.project == 'devolutions-gateway' && matrix.os == 'windows' }}
546557 run : |
@@ -553,26 +564,6 @@ jobs:
553564 Remove-Item $Env:DGATEWAY_PSMODULE_PATH -Recurse -ErrorAction SilentlyContinue | Out-Null
554565 shell : pwsh
555566
556- - name : Repackage Agent
557- if : ${{ matrix.project == 'devolutions-agent' && matrix.os == 'windows' }}
558- run : |
559- $PackageRoot = Join-Path ${{ runner.temp }} devolutions-agent
560- $Env:DAGENT_PACKAGE = Get-ChildItem -Path $PackageRoot -Recurse -Filter 'DevolutionsAgent.msi' -File | Select -First 1
561-
562- ./ci/tlk.ps1 package -Product agent -PackageOption assemble
563-
564- $Env:DAGENT_DESKTOP_AGENT_OUTPUT_PATH = Join-Path $PackageRoot ${{ matrix.os }} x64 DesktopAgent
565- $Env:DAGENT_PEDM_SHELL_EXT_DLL = Get-ChildItem -Path $PackageRoot -Recurse -Include 'DevolutionsPedmShellExt.dll' | Select -First 1
566- $Env:DAGENT_PEDM_SHELL_EXT_MSIX = Get-ChildItem -Path $PackageRoot -Recurse -Include 'DevolutionsPedmShellExt.msix' | Select -First 1
567- $Env:DAGENT_SESSION_EXECUTABLE = Get-ChildItem -Path $PackageRoot -Recurse -Include 'DevolutionsSession.exe' | Select -First 1
568-
569- @($Env:DAGENT_DESKTOP_AGENT_OUTPUT_PATH,
570- $Env:DAGENT_PEDM_SHELL_EXT_DLL, $Env:DAGENT_PEDM_SHELL_EXT_MSIX,
571- $Env:DAGENT_SESSION_EXECUTABLE) | ForEach-Object {
572- Remove-Item $_ -Recurse -ErrorAction SilentlyContinue | Out-Null
573- }
574- shell : pwsh
575-
576567 - name : Sign packages
577568 if : ${{ (matrix.project == 'devolutions-gateway' || matrix.project == 'devolutions-agent') && matrix.os == 'windows' }}
578569 run : |
0 commit comments