Skip to content

Commit ae9bba8

Browse files
committed
[main] Update AL-Go System Files from microsoft/AL-Go-PTE@main - 6472dd494728483cee9b04dc7356fd6f2cc737b4
1 parent ee4f16c commit ae9bba8

21 files changed

+345
-195
lines changed

.AL-Go/cloudDevEnv.ps1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ Write-Host -ForegroundColor Yellow @'
4242

4343
$tmpFolder = Join-Path ([System.IO.Path]::GetTempPath()) "$([Guid]::NewGuid().ToString())"
4444
New-Item -Path $tmpFolder -ItemType Directory -Force | Out-Null
45-
$GitHubHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v6.3/Github-Helper.psm1' -folder $tmpFolder
46-
$ALGoHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v6.3/AL-Go-Helper.ps1' -folder $tmpFolder
47-
DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v6.3/Packages.json' -folder $tmpFolder | Out-Null
45+
$GitHubHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v6.4/Github-Helper.psm1' -folder $tmpFolder
46+
$ALGoHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v6.4/AL-Go-Helper.ps1' -folder $tmpFolder
47+
DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v6.4/Packages.json' -folder $tmpFolder | Out-Null
4848

4949
Import-Module $GitHubHelperPath
5050
. $ALGoHelperPath -local

.AL-Go/localDevEnv.ps1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ Write-Host -ForegroundColor Yellow @'
4646

4747
$tmpFolder = Join-Path ([System.IO.Path]::GetTempPath()) "$([Guid]::NewGuid().ToString())"
4848
New-Item -Path $tmpFolder -ItemType Directory -Force | Out-Null
49-
$GitHubHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v6.3/Github-Helper.psm1' -folder $tmpFolder
50-
$ALGoHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v6.3/AL-Go-Helper.ps1' -folder $tmpFolder
51-
DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v6.3/Packages.json' -folder $tmpFolder | Out-Null
49+
$GitHubHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v6.4/Github-Helper.psm1' -folder $tmpFolder
50+
$ALGoHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v6.4/AL-Go-Helper.ps1' -folder $tmpFolder
51+
DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v6.4/Packages.json' -folder $tmpFolder | Out-Null
5252

5353
Import-Module $GitHubHelperPath
5454
. $ALGoHelperPath -local

.github/AL-Go-Settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
"nextMinorSchedule": "0 0 15 * *",
55
"UpdateGitHubGoSystemFilesSchedule": "0 0 1,15 * *",
66
"templateUrl": "https://github.com/microsoft/AL-Go-PTE@main",
7-
"templateSha": "ba4fc723e4c024674baa6a53ef1777402cfbaab0"
7+
"templateSha": "6472dd494728483cee9b04dc7356fd6f2cc737b4"
88
}

.github/RELEASENOTES.copy.md

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,69 @@
1+
## v6.4
2+
3+
### Deprecations
4+
5+
- `alwaysBuildAllProjects` will be removed after October 1st 2025. Please set the `onPull_Request` property of the `incrementalBuilds` setting to false to force full builds in Pull Requests.
6+
- `<workflow>Schedule` will be removed after October 1st 2025. The old setting, where the setting key was a combination of the workflow name and `Schedule` (dynamic setting key name) is deprecated. Instead you need to use a setting called [workflowSchedule](https://aka.ms/algosettings#workflowSchedule) and either use [Conditional Settings](https://aka.ms/algosettings#conditional-settings) or place the setting in a workflow specific settings file.
7+
8+
### Issues
9+
10+
- Issue 1433 Publish to Environment - DependencyInstallMode not found
11+
- Issue 1440 Create Release fails due to recent changes to the AL-Go
12+
- Issue 1330 CompilerFolder doesn't transfer installed Apps to NuGet resolution
13+
- Issue 1268 Do not throw an un-understandable error during nuGet download
14+
- Performance test sample code in 25.4 contains objects with ID 149201 and 149202, which are not renumbered
15+
- Issue 798 Publish To Environment breaks CI/CD pipelines
16+
- Issue 1182 Runs-on setting type is ambiguous - string or array
17+
- Issue 1502 NuGet dependency version is always LatestMatching
18+
19+
### New Workflow specific settings
20+
21+
- `workflowSchedule` - can be structure with a property named `cron`, which must be a valid crontab, defining the CRON schedule for when the specified workflow should run. Default is no scheduled runs, only manual triggers. Build your crontab string here: [https://crontab.guru](https://crontab.guru). You need to run the Update AL-Go System Files workflow for the schedule to take effect.<br/>**Note:** If you configure a WorkflowSchedule for the CI/CD workflow, AL-Go will stop triggering CICDs on push unless you have also added CICDPushBranches to your settings.<br/>**Note also:** If you define a schedule for Update AL-Go System Files, it uses direct Commit instead of creating a PR.
22+
- `workflowConcurrency` - is used to control concurrency of workflows. Like with the `workflowSchedule` setting, this setting should be applied in workflow specific settings files or conditional settings. By default, all workflows allows for concurrency, except for the Create Release workflow. If you are using incremental builds in CI/CD it is also recommented to set WorkflowConcurrency to:<br/>`[ "group: ${{ github.workflow }}-${{ github.ref }}", "cancel-in-progress: true" ]`<br />in order to cancel prior incremental builds on the same branch.<br />Read more about workflow concurrency [here](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs).
23+
24+
### New Repository Settings
25+
26+
- `nuGetFeedSelectMode` determines the select mode when finding Business Central app packages from NuGet feeds, based on the dependency version specified in app.json. Options are: `Earliest` for earliest version of the package, `EarliestMatching` for earliest version of the package also compatible with the Business Central version used, `Exact` for the exact version of the package, `Latest` for the latest version of the package, `LatestMatching` for the latest version of the package also compatible with the Business Central version used.
27+
- `deployTo<environment>` now has two additional properties:
28+
- `includeTestAppsInSandboxEnvironment`, which deploys test apps and their dependencies to the specified sandbox environment if set to `true`. Deployment will fail if used on a Prod environment or if the test app has a dependency on Tests-TestLibraries. Default value is `false`.
29+
- `excludeAppIds`, which is an array of app ids which will be excluded from deployment. Default value is `[]`
30+
- `incrementalBuilds` - is a structure defining how you want AL-Go to handle incremental builds. When using incremental builds for a build, AL-Go will look for the latest successful build, newer than the defined `retentionDays` and only rebuild projects or apps (based on `mode`) which needs to be rebuilt. Properties in the structure includes:
31+
- `onPush` - set this property to **true** in order to enable incremental builds in CI/CD triggered by a merge/push event. Default is **false**.
32+
- `onPull_Request` - set this property to **false** in order to disable incremental builds in Pull Request workflows. Default is **true**.
33+
- `onSchedule` - set this property to **true** in order to enable incremental builds in CI/CD when running on a schedule. Default is **false**.
34+
- `retentionDays` - number of days a successful build is good (and can be used for incremental builds). Default is **30**.
35+
- `mode` - defines the mode for incremental builds. Currently, two values are supported. Use **modifiedProjects** when you want to rebuild all apps in modified projects and depending projects or **modifiedApps** if you only want to rebuild modified apps and depending apps.
36+
37+
> [!NOTE]
38+
> The projects mentioned here are AL-Go projects in a multi-project repository. A repository can contain multiple projects and a project can contain multiple apps.
39+
40+
### Run "Update AL-Go System Files" on multiple branches
41+
42+
_Update AL-Go System Files_ has a new input to specify a list of branches to be updated in a single workflow run.
43+
When running the workflow on a schedule, you can now also specify `includeBranches` in `workflowSchedule` setting, which allows you to update the specified branches. Read more at https://aka.ms/algosettings#workflowSchedule.
44+
45+
> [!NOTE]
46+
> When running "Update AL-Go System Files" on multiple branches, the template repository URL will be determined based on the branch the workflow runs on and it will be used for all of the specified branches.
47+
48+
### Support for incremental builds
49+
50+
AL-Go for GitHub now supports incremental builds, which means that unchanged projects or apps will be reused from the previous good build. Read [this](https://aka.ms/algosettings#incrementalBuilds) to learn more.
51+
52+
> [!NOTE]
53+
> When using incremental builds it is recommended to also set `workflowConcurrency` as defined [here](https://aka.ms/algosettings#workflowConcurrency).
54+
55+
### Support for GitHub App authentication
56+
57+
AL-Go for GitHub now supports using a GitHub App specification as the GhTokenWorkflow secret for a more secure way of allowing repositories to run Update AL-Go System Files and other workflows which are creating commits and pull requests. See [this description](https://github.com/microsoft/AL-Go/blob/main/Scenarios/GhTokenWorkflow.md) to learn how to use GitHub App authentication.
58+
59+
### Support for embedded secrets in installApps and installTestApps settings
60+
61+
If your installApps or installTestApps are secure URL, containing a secret token, you can now use a GitHub secret specification as part of or as the full URL of apps to install. An example could be:
62+
63+
`"installApps": [ "https://www.dropbox.com/${{SECRETNAME}}&dl=1" ]`
64+
65+
Which would hide the secret part of your URL instead of exposing it in clear text.
66+
167
## v6.3
268

369
### Deprecations
@@ -136,7 +202,7 @@ In the summary after a Test Run, you now also have the result of performance tes
136202
### Support Ubuntu runners for all AL-Go workflows
137203

138204
Previously, the workflows "Update AL-Go System Files" and "TroubleShooting" were hardcoded to always run on `windows-latest` to prevent deadlocks and security issues.
139-
From now on, `ubuntu-lates` will also be allowed for these mission critical workflows, when changing the `runs-on` setting. Additionally, only the value `pwsh` for `shell` setting is allowed when using `ubuntu-latest` runners.
205+
From now on, `ubuntu-latest` will also be allowed for these mission critical workflows, when changing the `runs-on` setting. Additionally, only the value `pwsh` for `shell` setting is allowed when using `ubuntu-latest` runners.
140206

141207
### Updated AL-Go telemetry
142208

@@ -629,7 +695,7 @@ In the latest version, we always use LF as line seperator, UTF8 without BOM and
629695
### Experimental Support
630696

631697
Setting the repo setting "shell" to "pwsh", followed by running Update AL-Go System Files, will cause all PowerShell code to be run using PowerShell 7 instead of PowerShell 5. This functionality is experimental. Please report any issues at https://github.com/microsoft/AL-Go/issues
632-
Setting the repo setting "runs-on" to "Ubuntu-Latest", followed by running Update AL-Go System Files, will cause all non-build jobs to run using Linux. This functionality is experimental. Please report any issues at https://github.com/microsoft/AL-Go/issues
698+
Setting the repo setting "runs-on" to "Ubuntu-latest", followed by running Update AL-Go System Files, will cause all non-build jobs to run using Linux. This functionality is experimental. Please report any issues at https://github.com/microsoft/AL-Go/issues
633699

634700
## v2.2
635701

.github/workflows/AddExistingAppOrTestApp.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
runs-on: [ windows-latest ]
4242
steps:
4343
- name: Dump Workflow Information
44-
uses: microsoft/AL-Go-Actions/DumpWorkflowInfo@v6.3
44+
uses: microsoft/AL-Go-Actions/DumpWorkflowInfo@v6.4
4545
with:
4646
shell: powershell
4747

@@ -50,26 +50,26 @@ jobs:
5050

5151
- name: Initialize the workflow
5252
id: init
53-
uses: microsoft/AL-Go-Actions/WorkflowInitialize@v6.3
53+
uses: microsoft/AL-Go-Actions/WorkflowInitialize@v6.4
5454
with:
5555
shell: powershell
5656

5757
- name: Read settings
58-
uses: microsoft/AL-Go-Actions/ReadSettings@v6.3
58+
uses: microsoft/AL-Go-Actions/ReadSettings@v6.4
5959
with:
6060
shell: powershell
6161

6262
- name: Read secrets
6363
id: ReadSecrets
64-
uses: microsoft/AL-Go-Actions/ReadSecrets@v6.3
64+
uses: microsoft/AL-Go-Actions/ReadSecrets@v6.4
6565
with:
6666
shell: powershell
6767
gitHubSecrets: ${{ toJson(secrets) }}
6868
getSecrets: 'TokenForPush'
6969
useGhTokenWorkflowForPush: '${{ github.event.inputs.useGhTokenWorkflow }}'
7070

7171
- name: Add existing app
72-
uses: microsoft/AL-Go-Actions/AddExistingApp@v6.3
72+
uses: microsoft/AL-Go-Actions/AddExistingApp@v6.4
7373
with:
7474
shell: powershell
7575
token: ${{ steps.ReadSecrets.outputs.TokenForPush }}
@@ -79,7 +79,7 @@ jobs:
7979

8080
- name: Finalize the workflow
8181
if: always()
82-
uses: microsoft/AL-Go-Actions/WorkflowPostProcess@v6.3
82+
uses: microsoft/AL-Go-Actions/WorkflowPostProcess@v6.4
8383
env:
8484
GITHUB_TOKEN: ${{ github.token }}
8585
with:

0 commit comments

Comments
 (0)