Skip to content

Commit

Permalink
[releases/25.1] Update AL-Go System Files from microsoft/AL-Go-PTE@pr…
Browse files Browse the repository at this point in the history
…eview - c62bf167f8c516d997bed1ed600a9d03d5093ad5 (#2284)

## preview

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.

### Issues

- Issue 1241 Increment Version Number might produce wrong app.json
- `deployTo<environment>` now has an additional property called
DependencyInstallMode, which determines how dependencies are deployed if
GenerateDependencyArtifact is true. Default value is `install` to
install dependencies if not already installed. Other values are `ignore`
for ignoring dependencies, `upgrade` for upgrading dependencies if
possible and `forceUpgrade` for force upgrading dependencies.

### New Project Settings

- `pageScriptingTests` should be an array of page scripting test file
specifications, relative to the AL-Go project. Examples of file
specifications: `recordings/my*.yml` (for all yaml files in the
recordings subfolder matching my\*.yml), `recordings` (for all \*.yml
files in the recordings subfolder) or `recordings/test.yml` (for a
single yml file)
- `doNotRunPageScriptingTests` can force the pipeline to NOT run the
page scripting tests specified in pageScriptingTests. Note this setting
can be set in a [workflow specific settings
file](#where-are-the-settings-located) to only apply to that workflow
- `restoreDatabases` should be an array of events, indicating when you
want to start with clean databases in the container. Possible events
are: `BeforeBcpTests`, `BeforePageScriptingTests`, `BeforeEachTestApp`,
`BeforeEachBcptTestApp`, `BeforeEachPageScriptingTest`

### New Repository Settings

- `trustedSigning` is a structure defining `Account`, `EndPoint` and
`CertificateProfile` if you want to use trusted signing. Note that your
Azure_Credentials secret (Microsoft Entra ID App or Managed identity)
still needs to provide access to your azure subscription and be assigned
the `Trusted Signing Certificate Profile Signer` role in the Trusted
Signing Account.

### Support for Azure Trusted Signing

Read https://learn.microsoft.com/en-us/azure/trusted-signing/ for more
information about Trusted Signing and how to set it up. After setting up
your trusted signing account and certificate profile, you need to create
a setting called
[trustedSigning](https://aka.ms/algosettings#trustedSigning) for AL-Go
to sign your apps using Azure Trusted Signing.

### Support for Page Scripting Tests

Page Scripting tests are now supported as part of CI/CD. By specifying
pageScriptingTests in your project settings file, AL-Go for GitHub will
automatically run these page scripting tests as part of your CI/CD
workflow, generating the following build artifacts:

- `PageScriptingTestResults` is a JUnit test results file with all
results combined.
- `PageScriptingTestResultDetails` are the detailed test results
(including videos) when any of the page scripting tests have failures.
If the page scripting tests succeed - the details are not published.


[AB#539394](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/539394)

Co-authored-by: bcbuild-github-agent <[email protected]>
  • Loading branch information
bcbuild-github-agent and bcbuild-github-agent authored Oct 31, 2024
1 parent 1405c7e commit 5f32df0
Show file tree
Hide file tree
Showing 23 changed files with 173 additions and 127 deletions.
2 changes: 1 addition & 1 deletion .github/AL-Go-Settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,5 +72,5 @@
]
},
"UpdateALGoSystemFilesEnvironment": "Official-Build",
"templateSha": "aae02ad59c6f4cd9d551a613b1d230d93e5a3098"
"templateSha": "c62bf167f8c516d997bed1ed600a9d03d5093ad5"
}
32 changes: 31 additions & 1 deletion .github/RELEASENOTES.copy.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
## preview

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.

### Issues

- Issue 1241 Increment Version Number might produce wrong app.json
- `deployTo<environment>` now has an additional property called DependencyInstallMode, which determines how dependencies are deployed if GenerateDependencyArtifact is true. Default value is `install` to install dependencies if not already installed. Other values are `ignore` for ignoring dependencies, `upgrade` for upgrading dependencies if possible and `forceUpgrade` for force upgrading dependencies.

### New Project Settings

- `pageScriptingTests` should be an array of page scripting test file specifications, relative to the AL-Go project. Examples of file specifications: `recordings/my*.yml` (for all yaml files in the recordings subfolder matching my\*.yml), `recordings` (for all \*.yml files in the recordings subfolder) or `recordings/test.yml` (for a single yml file)
- `doNotRunPageScriptingTests` can force the pipeline to NOT run the page scripting tests specified in pageScriptingTests. Note this setting can be set in a [workflow specific settings file](#where-are-the-settings-located) to only apply to that workflow
- `restoreDatabases` should be an array of events, indicating when you want to start with clean databases in the container. Possible events are: `BeforeBcpTests`, `BeforePageScriptingTests`, `BeforeEachTestApp`, `BeforeEachBcptTestApp`, `BeforeEachPageScriptingTest`

### New Repository Settings

- `trustedSigning` is a structure defining `Account`, `EndPoint` and `CertificateProfile` if you want to use trusted signing. Note that your Azure_Credentials secret (Microsoft Entra ID App or Managed identity) still needs to provide access to your azure subscription and be assigned the `Trusted Signing Certificate Profile Signer` role in the Trusted Signing Account.

### Support for Azure Trusted Signing

Read https://learn.microsoft.com/en-us/azure/trusted-signing/ for more information about Trusted Signing and how to set it up. After setting up your trusted signing account and certificate profile, you need to create a setting called [trustedSigning](https://aka.ms/algosettings#trustedSigning) for AL-Go to sign your apps using Azure Trusted Signing.

### Support for Page Scripting Tests

Page Scripting tests are now supported as part of CI/CD. By specifying pageScriptingTests in your project settings file, AL-Go for GitHub will automatically run these page scripting tests as part of your CI/CD workflow, generating the following build artifacts:

- `PageScriptingTestResults` is a JUnit test results file with all results combined.
- `PageScriptingTestResultDetails` are the detailed test results (including videos) when any of the page scripting tests have failures. If the page scripting tests succeed - the details are not published.

## v6.0

### Issues
Expand Down Expand Up @@ -648,7 +678,7 @@ Setting the repo setting "runs-on" to "Ubuntu-Latest", followed by running Updat
### CI/CD and Publish To New Environment

- Base functionality for selecting a specific GitHub runner for an environment
- Include dependencies artifacts when deploying (if generateDependencyArtifacts is true)
- Include dependencies artifacts when deploying (if generateDependencyArtifact is true)

### localDevEnv.ps1 and cloudDevEnv.ps1

Expand Down
52 changes: 26 additions & 26 deletions .github/workflows/CICD.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,24 +45,24 @@ jobs:
workflowDepth: ${{ steps.DetermineWorkflowDepth.outputs.WorkflowDepth }}
steps:
- name: Dump Workflow Information
uses: microsoft/AL-Go-Actions/DumpWorkflowInfo@v6.0
uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell

- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
lfs: true

- name: Initialize the workflow
id: init
uses: microsoft/AL-Go-Actions/WorkflowInitialize@v6.0
uses: microsoft/AL-Go/Actions/WorkflowInitialize@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell

- name: Read settings
id: ReadSettings
uses: microsoft/AL-Go-Actions/ReadSettings@v6.0
uses: microsoft/AL-Go/Actions/ReadSettings@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell
get: type, powerPlatformSolutionFolder
Expand All @@ -74,7 +74,7 @@ jobs:
- name: Determine Projects To Build
id: determineProjectsToBuild
uses: microsoft/AL-Go-Actions/DetermineProjectsToBuild@v6.0
uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell
maxBuildDepth: ${{ env.workflowDepth }}
Expand All @@ -87,23 +87,23 @@ jobs:
- name: Determine Delivery Target Secrets
id: DetermineDeliveryTargetSecrets
uses: microsoft/AL-Go-Actions/DetermineDeliveryTargets@v6.0
uses: microsoft/AL-Go/Actions/DetermineDeliveryTargets@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell
projectsJson: '${{ steps.determineProjectsToBuild.outputs.ProjectsJson }}'
checkContextSecrets: 'false'

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

- name: Determine Delivery Targets
id: DetermineDeliveryTargets
uses: microsoft/AL-Go-Actions/DetermineDeliveryTargets@v6.0
uses: microsoft/AL-Go/Actions/DetermineDeliveryTargets@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
env:
Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}'
with:
Expand All @@ -113,7 +113,7 @@ jobs:

- name: Determine Deployment Environments
id: DetermineDeploymentEnvironments
uses: microsoft/AL-Go-Actions/DetermineDeploymentEnvironments@v6.0
uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
env:
GITHUB_TOKEN: ${{ github.token }}
with:
Expand All @@ -126,16 +126,16 @@ jobs:
runs-on: [ windows-latest ]
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Read settings
uses: microsoft/AL-Go-Actions/ReadSettings@v6.0
uses: microsoft/AL-Go/Actions/ReadSettings@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell
get: templateUrl

- name: Check for updates to AL-Go system files
uses: microsoft/AL-Go-Actions/CheckForUpdates@v6.0
uses: microsoft/AL-Go/Actions/CheckForUpdates@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell
templateUrl: ${{ env.templateUrl }}
Expand Down Expand Up @@ -202,15 +202,15 @@ jobs:
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Download artifacts
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
path: '.artifacts'

- name: Read settings
uses: microsoft/AL-Go-Actions/ReadSettings@v6.0
uses: microsoft/AL-Go/Actions/ReadSettings@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell

Expand All @@ -219,7 +219,7 @@ jobs:
uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0

- name: Build Reference Documentation
uses: microsoft/AL-Go-Actions/BuildReferenceDocumentation@v6.0
uses: microsoft/AL-Go/Actions/BuildReferenceDocumentation@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell
artifacts: '.artifacts'
Expand Down Expand Up @@ -248,15 +248,15 @@ jobs:
url: ${{ steps.Deploy.outputs.environmentUrl }}
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Download artifacts
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
path: '.artifacts'

- name: Read settings
uses: microsoft/AL-Go-Actions/ReadSettings@v6.0
uses: microsoft/AL-Go/Actions/ReadSettings@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: ${{ matrix.shell }}
get: type,powerPlatformSolutionFolder
Expand All @@ -270,15 +270,15 @@ jobs:
- name: Read secrets
id: ReadSecrets
uses: microsoft/AL-Go-Actions/ReadSecrets@v6.0
uses: microsoft/AL-Go/Actions/ReadSecrets@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
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@v6.0
uses: microsoft/AL-Go/Actions/Deploy@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
env:
Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}'
with:
Expand All @@ -290,7 +290,7 @@ jobs:

- name: Deploy to Power Platform
if: env.type == 'PTE' && env.powerPlatformSolutionFolder != ''
uses: microsoft/AL-Go-Actions/DeployPowerPlatform@v6.0
uses: microsoft/AL-Go/Actions/DeployPowerPlatform@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
env:
Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}'
with:
Expand All @@ -310,28 +310,28 @@ jobs:
name: Deliver to ${{ matrix.deliveryTarget }}
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Download artifacts
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
path: '.artifacts'

- name: Read settings
uses: microsoft/AL-Go-Actions/ReadSettings@v6.0
uses: microsoft/AL-Go/Actions/ReadSettings@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell

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

- name: Deliver
uses: microsoft/AL-Go-Actions/Deliver@v6.0
uses: microsoft/AL-Go/Actions/Deliver@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
env:
Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}'
with:
Expand All @@ -347,11 +347,11 @@ jobs:
runs-on: [ windows-latest ]
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Finalize the workflow
id: PostProcess
uses: microsoft/AL-Go-Actions/WorkflowPostProcess@v6.0
uses: microsoft/AL-Go/Actions/WorkflowPostProcess@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
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 @@ -26,22 +26,22 @@ jobs:
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Initialize the workflow
id: init
uses: microsoft/AL-Go-Actions/WorkflowInitialize@v6.0
uses: microsoft/AL-Go/Actions/WorkflowInitialize@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell

- name: Read settings
uses: microsoft/AL-Go-Actions/ReadSettings@v6.0
uses: microsoft/AL-Go/Actions/ReadSettings@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell

- name: Determine Deployment Environments
id: DetermineDeploymentEnvironments
uses: microsoft/AL-Go-Actions/DetermineDeploymentEnvironments@v6.0
uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
env:
GITHUB_TOKEN: ${{ github.token }}
with:
Expand All @@ -54,7 +54,7 @@ jobs:
uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0

- name: Build Reference Documentation
uses: microsoft/AL-Go-Actions/BuildReferenceDocumentation@v6.0
uses: microsoft/AL-Go/Actions/BuildReferenceDocumentation@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell
artifacts: 'latest'
Expand All @@ -71,7 +71,7 @@ jobs:

- name: Finalize the workflow
if: always()
uses: microsoft/AL-Go-Actions/WorkflowPostProcess@v6.0
uses: microsoft/AL-Go/Actions/WorkflowPostProcess@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
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 @@ -41,35 +41,35 @@ jobs:
runs-on: [ windows-latest ]
steps:
- name: Dump Workflow Information
uses: microsoft/AL-Go-Actions/DumpWorkflowInfo@v6.0
uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell

- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Initialize the workflow
id: init
uses: microsoft/AL-Go-Actions/WorkflowInitialize@v6.0
uses: microsoft/AL-Go/Actions/WorkflowInitialize@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell

- name: Read settings
uses: microsoft/AL-Go-Actions/ReadSettings@v6.0
uses: microsoft/AL-Go/Actions/ReadSettings@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell

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

- name: Increment Version Number
uses: microsoft/AL-Go-Actions/IncrementVersionNumber@v6.0
uses: microsoft/AL-Go/Actions/IncrementVersionNumber@a46044fa1ffca4b1ff05d2d1844fd7d5922c6984
with:
shell: powershell
token: ${{ steps.ReadSecrets.outputs.TokenForPush }}
Expand All @@ -79,7 +79,7 @@ jobs:

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

0 comments on commit 5f32df0

Please sign in to comment.