Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/AL-Go-Settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf/Actions/.Modules/settings.schema.json",
"$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/824449511f8e902e4e529df34bb128349afa307a/Actions/.Modules/settings.schema.json",
"type": "PTE",
"templateUrl": "https://github.com/microsoft/AL-Go-PTE@preview",
"bcContainerHelperVersion": "preview",
Expand Down Expand Up @@ -93,7 +93,7 @@
]
},
"UpdateALGoSystemFilesEnvironment": "Official-Build",
"templateSha": "fd25f3deabd66383413e0d217437f30e5eb45ea8",
"templateSha": "6baed96f471c4518f62305a023dd8e05d27f2296",
"commitOptions": {
"messageSuffix": "Related to AB#539394",
"pullRequestAutoMerge": true,
Expand Down
19 changes: 19 additions & 0 deletions .github/RELEASENOTES.copy.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,20 @@

Note that when using the preview version of AL-Go for GitHub, we recommend you Update your AL-Go system files, as soon as possible when informed that an update is available.

### Use artifact manifest to pick .NET runtime for assembly probing

When compiling apps with the workspace compiler, AL-Go now reads the `dotNetVersion` from the BC artifact's `manifest.json` (copied into the compiler folder by BcContainerHelper) and selects an installed .NET runtime whose major version matches. This avoids version drift between the build agent's highest installed runtime and the platform the artifact was built against. If the manifest does not declare a `dotNetVersion`, or no installed runtime matches the required major, versioned .NET assembly probing paths are omitted (a warning is logged in the latter case).

### New AL-Go hooks (experimental)

AL-Go for GitHub now supports a new generic hook mechanism that is independent of BcContainerHelper. A new `RunHook` action invokes scripts placed in the project's `.AL-Go` folder at well-known extension points in the workflows. The first such extension point is `BuildInitialize`, which runs in the build workflow immediately after `Read settings` (so AL-Go settings are available as environment variables).

To use it, add a `.AL-Go/BuildInitialize.ps1` script that accepts a `[Hashtable] $parameters` argument. If the script does not exist, the step is a silent no-op.

The hook mechanism is intended to gradually replace the BcContainerHelper-based `Run-AlPipeline` script overrides as AL-Go moves away from `Run-AlPipeline`. See [Customizing AL-Go for GitHub](https://github.com/microsoft/AL-Go/blob/main/Scenarios/CustomizingALGoForGitHub.md#al-go-hooks) for details and the list of supported hook names.

> **Experimental:** the set of supported hook names, the parameters passed to hook scripts, the location and timing of hook invocations, and the names of the underlying action and helpers may all change in future versions. Anything you build on top of this first iteration may break in a later update.

### Conditional settings now support workflow trigger events

`ConditionalSettings` now supports a `triggers` condition, allowing you to apply settings based on `GITHUB_EVENT_NAME` values such as `push`, `pull_request`, `schedule`, and `workflow_dispatch`.
Expand All @@ -19,6 +33,11 @@ Example:
]
```

### Support for workspace compilation (Continued)

- Added support for upgrade tests and using previously released artifacts as baselines for appsourcecop.json
- Added support for BCPT app compilation with workspace compilation

### Optimized dependency artifact downloads for multi-project repositories

The `DownloadProjectDependencies` action now downloads only artifacts from dependency projects instead of all workflow artifacts. For repositories with many AL-Go projects, this reduces build runner bandwidth and speeds up the dependency download step.
Expand Down
2 changes: 1 addition & 1 deletion .github/Test Next Major.settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf/Actions/.Modules/settings.schema.json",
"$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/824449511f8e902e4e529df34bb128349afa307a/Actions/.Modules/settings.schema.json",
"artifact": "////nextmajor",
"cacheImageName": "",
"versioningStrategy": 15
Expand Down
2 changes: 1 addition & 1 deletion .github/Test Next Minor.settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf/Actions/.Modules/settings.schema.json",
"$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/824449511f8e902e4e529df34bb128349afa307a/Actions/.Modules/settings.schema.json",
"artifact": "////nextminor",
"cacheImageName": "",
"versioningStrategy": 15
Expand Down
48 changes: 24 additions & 24 deletions .github/workflows/CICD.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
trackALAlertsInGitHub: ${{ steps.SetALCodeAnalysisVar.outputs.trackALAlertsInGitHub }}
steps:
- name: Dump Workflow Information
uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell

Expand All @@ -62,13 +62,13 @@ jobs:

- name: Initialize the workflow
id: init
uses: microsoft/AL-Go/Actions/WorkflowInitialize@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/WorkflowInitialize@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell

- name: Read settings
id: ReadSettings
uses: microsoft/AL-Go/Actions/ReadSettings@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ReadSettings@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell
get: type,powerPlatformSolutionFolder,useGitSubmodules,trackALAlertsInGitHub
Expand All @@ -82,7 +82,7 @@ jobs:
- name: Read submodules token
id: ReadSubmodulesToken
if: env.useGitSubmodules != 'false' && env.useGitSubmodules != ''
uses: microsoft/AL-Go/Actions/ReadSecrets@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ReadSecrets@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell
gitHubSecrets: ${{ toJson(secrets) }}
Expand All @@ -103,7 +103,7 @@ jobs:

- name: Determine Projects To Build
id: determineProjectsToBuild
uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell
maxBuildDepth: ${{ env.workflowDepth }}
Expand All @@ -116,23 +116,23 @@ jobs:

- name: Determine Delivery Target Secrets
id: DetermineDeliveryTargetSecrets
uses: microsoft/AL-Go/Actions/DetermineDeliveryTargets@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/DetermineDeliveryTargets@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell
projectsJson: '${{ steps.determineProjectsToBuild.outputs.ProjectsJson }}'
checkContextSecrets: 'false'

- name: Read secrets
id: ReadSecrets
uses: microsoft/AL-Go/Actions/ReadSecrets@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ReadSecrets@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell
gitHubSecrets: ${{ toJson(secrets) }}
getSecrets: ${{ steps.DetermineDeliveryTargetSecrets.outputs.ContextSecrets }}

- name: Determine Delivery Targets
id: DetermineDeliveryTargets
uses: microsoft/AL-Go/Actions/DetermineDeliveryTargets@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/DetermineDeliveryTargets@824449511f8e902e4e529df34bb128349afa307a
env:
Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}'
with:
Expand All @@ -142,7 +142,7 @@ jobs:

- name: Determine Deployment Environments
id: DetermineDeploymentEnvironments
uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@824449511f8e902e4e529df34bb128349afa307a
env:
GITHUB_TOKEN: ${{ github.token }}
with:
Expand All @@ -158,21 +158,21 @@ jobs:
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Read settings
uses: microsoft/AL-Go/Actions/ReadSettings@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ReadSettings@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell
get: templateUrl

- name: Read secrets
id: ReadSecrets
uses: microsoft/AL-Go/Actions/ReadSecrets@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ReadSecrets@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell
gitHubSecrets: ${{ toJson(secrets) }}
getSecrets: 'ghTokenWorkflow'

- name: Check for updates to AL-Go system files
uses: microsoft/AL-Go/Actions/CheckForUpdates@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/CheckForUpdates@824449511f8e902e4e529df34bb128349afa307a
env:
GITHUB_TOKEN: ${{ github.token }}
with:
Expand Down Expand Up @@ -251,7 +251,7 @@ jobs:
- name: Process AL Code Analysis Logs
id: ProcessALCodeAnalysisLogs
if: (success() || failure())
uses: microsoft/AL-Go/Actions/ProcessALCodeAnalysisLogs@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ProcessALCodeAnalysisLogs@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell

Expand Down Expand Up @@ -285,13 +285,13 @@ jobs:
path: '.artifacts'

- name: Read settings
uses: microsoft/AL-Go/Actions/ReadSettings@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ReadSettings@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell

- name: Determine ArtifactUrl
id: determineArtifactUrl
uses: microsoft/AL-Go/Actions/DetermineArtifactUrl@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/DetermineArtifactUrl@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell

Expand All @@ -300,7 +300,7 @@ jobs:
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0

- name: Build Reference Documentation
uses: microsoft/AL-Go/Actions/BuildReferenceDocumentation@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/BuildReferenceDocumentation@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell
artifacts: '.artifacts'
Expand Down Expand Up @@ -341,7 +341,7 @@ jobs:
path: '.artifacts'

- name: Read settings
uses: microsoft/AL-Go/Actions/ReadSettings@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ReadSettings@824449511f8e902e4e529df34bb128349afa307a
with:
shell: ${{ matrix.shell }}
get: type,powerPlatformSolutionFolder
Expand All @@ -355,15 +355,15 @@ jobs:

- name: Read secrets
id: ReadSecrets
uses: microsoft/AL-Go/Actions/ReadSecrets@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ReadSecrets@824449511f8e902e4e529df34bb128349afa307a
with:
shell: ${{ matrix.shell }}
gitHubSecrets: ${{ toJson(secrets) }}
getSecrets: '${{ steps.envName.outputs.envName }}-AuthContext,${{ steps.envName.outputs.envName }}_AuthContext,AuthContext'

- name: Deploy to Business Central
id: Deploy
uses: microsoft/AL-Go/Actions/Deploy@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/Deploy@824449511f8e902e4e529df34bb128349afa307a
env:
Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}'
with:
Expand All @@ -375,7 +375,7 @@ jobs:

- name: Deploy to Power Platform
if: env.type == 'PTE' && env.powerPlatformSolutionFolder != ''
uses: microsoft/AL-Go/Actions/DeployPowerPlatform@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/DeployPowerPlatform@824449511f8e902e4e529df34bb128349afa307a
env:
Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}'
with:
Expand Down Expand Up @@ -403,20 +403,20 @@ jobs:
path: '.artifacts'

- name: Read settings
uses: microsoft/AL-Go/Actions/ReadSettings@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ReadSettings@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell

- name: Read secrets
id: ReadSecrets
uses: microsoft/AL-Go/Actions/ReadSecrets@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ReadSecrets@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell
gitHubSecrets: ${{ toJson(secrets) }}
getSecrets: '${{ matrix.deliveryTarget }}Context'

- name: Deliver
uses: microsoft/AL-Go/Actions/Deliver@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/Deliver@824449511f8e902e4e529df34bb128349afa307a
env:
Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}'
with:
Expand All @@ -436,7 +436,7 @@ jobs:

- name: Finalize the workflow
id: PostProcess
uses: microsoft/AL-Go/Actions/WorkflowPostProcess@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/WorkflowPostProcess@824449511f8e902e4e529df34bb128349afa307a
env:
GITHUB_TOKEN: ${{ github.token }}
with:
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/DeployReferenceDocumentation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,24 +30,24 @@ jobs:

- name: Initialize the workflow
id: init
uses: microsoft/AL-Go/Actions/WorkflowInitialize@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/WorkflowInitialize@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell

- name: Read settings
uses: microsoft/AL-Go/Actions/ReadSettings@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ReadSettings@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell

- name: Determine ArtifactUrl
id: determineArtifactUrl
uses: microsoft/AL-Go/Actions/DetermineArtifactUrl@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/DetermineArtifactUrl@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell

- name: Determine Deployment Environments
id: DetermineDeploymentEnvironments
uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@824449511f8e902e4e529df34bb128349afa307a
env:
GITHUB_TOKEN: ${{ github.token }}
with:
Expand All @@ -60,7 +60,7 @@ jobs:
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0

- name: Build Reference Documentation
uses: microsoft/AL-Go/Actions/BuildReferenceDocumentation@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/BuildReferenceDocumentation@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell
artifacts: 'latest'
Expand All @@ -78,7 +78,7 @@ jobs:

- name: Finalize the workflow
if: always()
uses: microsoft/AL-Go/Actions/WorkflowPostProcess@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/WorkflowPostProcess@824449511f8e902e4e529df34bb128349afa307a
env:
GITHUB_TOKEN: ${{ github.token }}
with:
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/IncrementVersionNumber.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
pull-requests: write
steps:
- name: Dump Workflow Information
uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell

Expand All @@ -57,32 +57,32 @@ jobs:

- name: Initialize the workflow
id: init
uses: microsoft/AL-Go/Actions/WorkflowInitialize@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/WorkflowInitialize@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell

- name: Read settings
uses: microsoft/AL-Go/Actions/ReadSettings@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ReadSettings@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell

- name: Validate Workflow Input
if: ${{ github.event_name == 'workflow_dispatch' }}
uses: microsoft/AL-Go/Actions/ValidateWorkflowInput@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ValidateWorkflowInput@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell

- name: Read secrets
id: ReadSecrets
uses: microsoft/AL-Go/Actions/ReadSecrets@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/ReadSecrets@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell
gitHubSecrets: ${{ toJson(secrets) }}
getSecrets: 'TokenForPush'
useGhTokenWorkflowForPush: '${{ github.event.inputs.useGhTokenWorkflow }}'

- name: Increment Version Number
uses: microsoft/AL-Go/Actions/IncrementVersionNumber@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/IncrementVersionNumber@824449511f8e902e4e529df34bb128349afa307a
with:
shell: powershell
token: ${{ steps.ReadSecrets.outputs.TokenForPush }}
Expand All @@ -93,7 +93,7 @@ jobs:

- name: Finalize the workflow
if: always()
uses: microsoft/AL-Go/Actions/WorkflowPostProcess@2c60bf2b8a164b0c0a956088ea850b7d1d0e27cf
uses: microsoft/AL-Go/Actions/WorkflowPostProcess@824449511f8e902e4e529df34bb128349afa307a
env:
GITHUB_TOKEN: ${{ github.token }}
with:
Expand Down
Loading
Loading