From d813a0ff57ab53a8a6fc91ed91540626eff89cb5 Mon Sep 17 00:00:00 2001 From: OleWunschmann Date: Fri, 17 Jul 2026 21:05:18 +0200 Subject: [PATCH 1/4] fix: only deliver artifact with same type as artifact to upload as release artifact --- .../.github/workflows/CreateRelease.yaml | 23 +++++++++++++++---- .../.github/workflows/CreateRelease.yaml | 23 +++++++++++++++---- 2 files changed, 38 insertions(+), 8 deletions(-) diff --git a/Templates/AppSource App/.github/workflows/CreateRelease.yaml b/Templates/AppSource App/.github/workflows/CreateRelease.yaml index a658e38d8..a8f988c59 100644 --- a/Templates/AppSource App/.github/workflows/CreateRelease.yaml +++ b/Templates/AppSource App/.github/workflows/CreateRelease.yaml @@ -239,9 +239,24 @@ jobs: data: fs.readFileSync(assetPath) }); + - name: Determine delivery targets + id: determineDeliveryTargets + env: + hasNuGetContext: ${{ fromJson(steps.ReadSecrets.outputs.Secrets).nuGetContext != '' }} + hasStorageContext: ${{ fromJson(steps.ReadSecrets.outputs.Secrets).storageContext != '' }} + MATRIX_ATYPE: ${{ matrix.atype }} + run: | + $deliverToNuGet = $env:hasNuGetContext -eq 'true' -and $env:MATRIX_ATYPE -in @("Apps", "TestApps") + Write-Host "Deliver $($env:MATRIX_ATYPE) to NuGet: $deliverToNuGet" + Add-Content -Encoding UTF8 -Path $env:GITHUB_OUTPUT -Value "deliverToNuGet=$($deliverToNuGet.ToString().ToLower())" + + $deliverToStorage = $env:hasStorageContext -eq 'true' -and $env:MATRIX_ATYPE -in @("Apps", "TestApps", "Dependencies") + Write-Host "Deliver $($env:MATRIX_ATYPE) to Storage: $deliverToStorage" + Add-Content -Encoding UTF8 -Path $env:GITHUB_OUTPUT -Value "deliverToStorage=$($deliverToStorage.ToString().ToLower())" + - name: Deliver to NuGet uses: microsoft/AL-Go-Actions/Deliver@main - if: ${{ fromJson(steps.ReadSecrets.outputs.Secrets).nuGetContext != '' }} + if: ${{ steps.determineDeliveryTargets.outputs.deliverToNuGet == 'true' }} env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' with: @@ -250,11 +265,11 @@ jobs: projects: ${{ matrix.project }} deliveryTarget: 'NuGet' artifacts: ${{ github.event.inputs.buildVersion }} - atypes: 'Apps,TestApps' + atypes: ${{ matrix.atype }} - name: Deliver to Storage uses: microsoft/AL-Go-Actions/Deliver@main - if: ${{ fromJson(steps.ReadSecrets.outputs.Secrets).storageContext != '' }} + if: ${{ steps.determineDeliveryTargets.outputs.deliverToStorage == 'true' }} env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' with: @@ -263,7 +278,7 @@ jobs: projects: ${{ matrix.project }} deliveryTarget: 'Storage' artifacts: ${{ github.event.inputs.buildVersion }} - atypes: 'Apps,TestApps,Dependencies' + atypes: ${{ matrix.atype }} CreateReleaseBranch: needs: [ CreateRelease, UploadArtifacts ] diff --git a/Templates/Per Tenant Extension/.github/workflows/CreateRelease.yaml b/Templates/Per Tenant Extension/.github/workflows/CreateRelease.yaml index a658e38d8..a8f988c59 100644 --- a/Templates/Per Tenant Extension/.github/workflows/CreateRelease.yaml +++ b/Templates/Per Tenant Extension/.github/workflows/CreateRelease.yaml @@ -239,9 +239,24 @@ jobs: data: fs.readFileSync(assetPath) }); + - name: Determine delivery targets + id: determineDeliveryTargets + env: + hasNuGetContext: ${{ fromJson(steps.ReadSecrets.outputs.Secrets).nuGetContext != '' }} + hasStorageContext: ${{ fromJson(steps.ReadSecrets.outputs.Secrets).storageContext != '' }} + MATRIX_ATYPE: ${{ matrix.atype }} + run: | + $deliverToNuGet = $env:hasNuGetContext -eq 'true' -and $env:MATRIX_ATYPE -in @("Apps", "TestApps") + Write-Host "Deliver $($env:MATRIX_ATYPE) to NuGet: $deliverToNuGet" + Add-Content -Encoding UTF8 -Path $env:GITHUB_OUTPUT -Value "deliverToNuGet=$($deliverToNuGet.ToString().ToLower())" + + $deliverToStorage = $env:hasStorageContext -eq 'true' -and $env:MATRIX_ATYPE -in @("Apps", "TestApps", "Dependencies") + Write-Host "Deliver $($env:MATRIX_ATYPE) to Storage: $deliverToStorage" + Add-Content -Encoding UTF8 -Path $env:GITHUB_OUTPUT -Value "deliverToStorage=$($deliverToStorage.ToString().ToLower())" + - name: Deliver to NuGet uses: microsoft/AL-Go-Actions/Deliver@main - if: ${{ fromJson(steps.ReadSecrets.outputs.Secrets).nuGetContext != '' }} + if: ${{ steps.determineDeliveryTargets.outputs.deliverToNuGet == 'true' }} env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' with: @@ -250,11 +265,11 @@ jobs: projects: ${{ matrix.project }} deliveryTarget: 'NuGet' artifacts: ${{ github.event.inputs.buildVersion }} - atypes: 'Apps,TestApps' + atypes: ${{ matrix.atype }} - name: Deliver to Storage uses: microsoft/AL-Go-Actions/Deliver@main - if: ${{ fromJson(steps.ReadSecrets.outputs.Secrets).storageContext != '' }} + if: ${{ steps.determineDeliveryTargets.outputs.deliverToStorage == 'true' }} env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' with: @@ -263,7 +278,7 @@ jobs: projects: ${{ matrix.project }} deliveryTarget: 'Storage' artifacts: ${{ github.event.inputs.buildVersion }} - atypes: 'Apps,TestApps,Dependencies' + atypes: ${{ matrix.atype }} CreateReleaseBranch: needs: [ CreateRelease, UploadArtifacts ] From ec2f4aa9abb4cc8f4fe1029b9c8d3fe7766baabe Mon Sep 17 00:00:00 2001 From: Ole Wunschmann <44057549+OleWunschmann@users.noreply.github.com> Date: Fri, 17 Jul 2026 21:28:20 +0200 Subject: [PATCH 2/4] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../Per Tenant Extension/.github/workflows/CreateRelease.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Templates/Per Tenant Extension/.github/workflows/CreateRelease.yaml b/Templates/Per Tenant Extension/.github/workflows/CreateRelease.yaml index a8f988c59..c56be3b57 100644 --- a/Templates/Per Tenant Extension/.github/workflows/CreateRelease.yaml +++ b/Templates/Per Tenant Extension/.github/workflows/CreateRelease.yaml @@ -246,6 +246,7 @@ jobs: hasStorageContext: ${{ fromJson(steps.ReadSecrets.outputs.Secrets).storageContext != '' }} MATRIX_ATYPE: ${{ matrix.atype }} run: | + $errorActionPreference = "Stop"; $ProgressPreference = "SilentlyContinue"; Set-StrictMode -Version 2.0 $deliverToNuGet = $env:hasNuGetContext -eq 'true' -and $env:MATRIX_ATYPE -in @("Apps", "TestApps") Write-Host "Deliver $($env:MATRIX_ATYPE) to NuGet: $deliverToNuGet" Add-Content -Encoding UTF8 -Path $env:GITHUB_OUTPUT -Value "deliverToNuGet=$($deliverToNuGet.ToString().ToLower())" From 202529095533ca05c433960b390e019ec04449e4 Mon Sep 17 00:00:00 2001 From: OleWunschmann Date: Fri, 17 Jul 2026 21:29:49 +0200 Subject: [PATCH 3/4] fix: only deliver artifact with same type as artifact to upload as release artifact --- Templates/AppSource App/.github/workflows/CreateRelease.yaml | 2 ++ .../Per Tenant Extension/.github/workflows/CreateRelease.yaml | 1 + 2 files changed, 3 insertions(+) diff --git a/Templates/AppSource App/.github/workflows/CreateRelease.yaml b/Templates/AppSource App/.github/workflows/CreateRelease.yaml index a8f988c59..3cd96e203 100644 --- a/Templates/AppSource App/.github/workflows/CreateRelease.yaml +++ b/Templates/AppSource App/.github/workflows/CreateRelease.yaml @@ -246,6 +246,8 @@ jobs: hasStorageContext: ${{ fromJson(steps.ReadSecrets.outputs.Secrets).storageContext != '' }} MATRIX_ATYPE: ${{ matrix.atype }} run: | + $errorActionPreference = "Stop"; $ProgressPreference = "SilentlyContinue"; Set-StrictMode -Version 2.0 + $deliverToNuGet = $env:hasNuGetContext -eq 'true' -and $env:MATRIX_ATYPE -in @("Apps", "TestApps") Write-Host "Deliver $($env:MATRIX_ATYPE) to NuGet: $deliverToNuGet" Add-Content -Encoding UTF8 -Path $env:GITHUB_OUTPUT -Value "deliverToNuGet=$($deliverToNuGet.ToString().ToLower())" diff --git a/Templates/Per Tenant Extension/.github/workflows/CreateRelease.yaml b/Templates/Per Tenant Extension/.github/workflows/CreateRelease.yaml index c56be3b57..3cd96e203 100644 --- a/Templates/Per Tenant Extension/.github/workflows/CreateRelease.yaml +++ b/Templates/Per Tenant Extension/.github/workflows/CreateRelease.yaml @@ -247,6 +247,7 @@ jobs: MATRIX_ATYPE: ${{ matrix.atype }} run: | $errorActionPreference = "Stop"; $ProgressPreference = "SilentlyContinue"; Set-StrictMode -Version 2.0 + $deliverToNuGet = $env:hasNuGetContext -eq 'true' -and $env:MATRIX_ATYPE -in @("Apps", "TestApps") Write-Host "Deliver $($env:MATRIX_ATYPE) to NuGet: $deliverToNuGet" Add-Content -Encoding UTF8 -Path $env:GITHUB_OUTPUT -Value "deliverToNuGet=$($deliverToNuGet.ToString().ToLower())" From 449668924ca606a856c0af38c31e567ad08bafc5 Mon Sep 17 00:00:00 2001 From: OleWunschmann Date: Fri, 17 Jul 2026 21:31:43 +0200 Subject: [PATCH 4/4] Updated releasenotes --- RELEASENOTES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 8ece790f8..f035910c9 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -8,6 +8,7 @@ Workspace compilation now finds altool both in the platform-specific subfolder ( - Fix "filename or extension is too long" error when validating settings on PS5.1 with large settings JSON - Retry downloading dependency artifacts from the current build up to 3 times (30 seconds between attempts) to tolerate transient network errors such as "Failed to GetSignedArtifactURL: Unable to make request: ETIMEDOUT" - Issue 2302 - AlDoc does not use --packagecache when building reference documentation +- Issue 2320 - Deliver to NuGet of release workflow failing with app and test app ## v9.1