Skip to content
Open
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
Expand Up @@ -5,7 +5,7 @@
"runs-on": "windows-latest",
"cacheImageName": "",
"UsePsSession": false,
"artifact": "https://bcinsider-fvh2ekdjecfjd6gk.b02.azurefd.net/sandbox/25.0.20074.0/base",
"artifact": "https://bcinsider-fvh2ekdjecfjd6gk.b02.azurefd.net/sandbox/25.0.23364.27649/base",
"country": "base",
"useProjectDependencies": true,
"repoVersion": "25.0",
Expand Down Expand Up @@ -58,5 +58,5 @@
],
"UpdateALGoSystemFilesEnvironment": "Official-Build",
"PullRequestTrigger": "pull_request",
"templateSha": "0476547896ebcd3ba5455b3e0e59b48c0d4a26ca"
"templateSha": "affc76e00812eaa4656997452d2f141c482cf3cc"
}
164 changes: 109 additions & 55 deletions .github/workflows/CICD.yaml

Large diffs are not rendered by default.

41 changes: 25 additions & 16 deletions .github/workflows/DeployReferenceDocumentation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ on:
workflow_dispatch:

permissions:
contents: write
actions: read
pages: write
contents: read
id-token: write
pages: write

defaults:
run:
Expand All @@ -26,46 +26,55 @@ jobs:
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Initialize the workflow
id: init
uses: microsoft/AL-Go/Actions/WorkflowInitialize@4c5bfbca1adebbf997f63882df4b9074a19aac1d
uses: microsoft/AL-Go/Actions/WorkflowInitialize@006019b87cab11f6234d05f2c34372daf3c7075d
with:
shell: powershell
eventId: "DO0097"


- name: Read settings
uses: microsoft/AL-Go/Actions/ReadSettings@4c5bfbca1adebbf997f63882df4b9074a19aac1d
uses: microsoft/AL-Go/Actions/ReadSettings@006019b87cab11f6234d05f2c34372daf3c7075d
with:
shell: powershell

- name: Determine Deployment Environments
id: DetermineDeploymentEnvironments
uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@4c5bfbca1adebbf997f63882df4b9074a19aac1d
uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@006019b87cab11f6234d05f2c34372daf3c7075d
env:
GITHUB_TOKEN: ${{ github.token }}
with:
shell: powershell
getEnvironments: 'github-pages'
type: 'Publish'

- name: Setup Pages
if: steps.DetermineDeploymentEnvironments.outputs.deployALDocArtifact == 1
uses: actions/configure-pages@v4
uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0

- name: Build Reference Documentation
uses: microsoft/AL-Go/Actions/BuildReferenceDocumentation@4c5bfbca1adebbf997f63882df4b9074a19aac1d
uses: microsoft/AL-Go/Actions/BuildReferenceDocumentation@006019b87cab11f6234d05f2c34372daf3c7075d
with:
shell: powershell
artifacts: 'latest'

- name: Upload pages artifact
uses: actions/upload-pages-artifact@v3
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1
with:
path: ".aldoc/_site/"

- name: Deploy to GitHub Pages
if: steps.DetermineDeploymentEnvironments.outputs.deployALDocArtifact == 1
id: deployment
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5

- name: Finalize the workflow
if: always()
uses: microsoft/AL-Go/Actions/WorkflowPostProcess@006019b87cab11f6234d05f2c34372daf3c7075d
env:
GITHUB_TOKEN: ${{ github.token }}
with:
shell: powershell
telemetryScopeJson: ${{ steps.init.outputs.telemetryScopeJson }}
currentJobContext: ${{ toJson(job) }}
111 changes: 111 additions & 0 deletions .github/workflows/PullPowerPlatformChanges.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: ' Pull Power Platform changes'

on:
workflow_dispatch:
inputs:
environment:
description: Environment to pull changes from
required: true
solutionFolder:
description: Folder name of the Power Platform solution (leave empty to use AL-Go setting)
required: false
directCommit:
description: Direct Commit?
type: boolean
default: false
useGhTokenWorkflow:
description: Use GhTokenWorkflow for PR/Commit?
type: boolean
default: false

permissions:
actions: read
contents: write
id-token: write
pull-requests: write

defaults:
run:
shell: powershell

jobs:
PullChanges:
runs-on: [windows-latest]
name: Pull changes from ${{ inputs.environment }}
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Initialize the workflow
id: init
uses: microsoft/AL-Go/Actions/WorkflowInitialize@006019b87cab11f6234d05f2c34372daf3c7075d
with:
shell: powershell

- name: EnvName
env:
_environment: ${{ inputs.environment }}
run: |
$errorActionPreference = "Stop"; $ProgressPreference = "SilentlyContinue"; Set-StrictMode -Version 2.0
$envName = "$env:_environment".Split(' ')[0]
Add-Content -encoding utf8 -Path $env:GITHUB_ENV -Value "envName=$envName"

- name: Read settings
uses: microsoft/AL-Go/Actions/ReadSettings@006019b87cab11f6234d05f2c34372daf3c7075d
with:
shell: powershell
get: powerPlatformSolutionFolder

- name: Read secrets
id: ReadSecrets
uses: microsoft/AL-Go/Actions/ReadSecrets@006019b87cab11f6234d05f2c34372daf3c7075d
with:
shell: powershell
gitHubSecrets: ${{ toJson(secrets) }}
getSecrets: '${{ env.envName }}-AuthContext,${{ env.envName }}_AuthContext,AuthContext,TokenForPush'
useGhTokenWorkflowForPush: '${{ github.event.inputs.useGhTokenWorkflow }}'

- name: Determine Deployment Environments
id: DetermineDeploymentEnvironments
uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@006019b87cab11f6234d05f2c34372daf3c7075d
env:
GITHUB_TOKEN: ${{ github.token }}
with:
shell: powershell
getEnvironments: ${{ inputs.environment }}
type: 'All'

- name: Set Power Platform solution folder
env:
_solutionFolder: ${{ inputs.solutionFolder }}
run: |
$errorActionPreference = "Stop"; $ProgressPreference = "SilentlyContinue"; Set-StrictMode -Version 2.0
$solutionFolder = $env:_solutionFolder
if ($solutionFolder -eq '') {
Write-Host "Solution folder is not provided. Taking the folder from AL-Go settings"
$solutionFolder = $env:powerPlatformSolutionFolder
}
Write-Host "Solution folder: $solutionFolder"
Add-Content -encoding utf8 -Path $env:GITHUB_ENV -Value "solutionFolder=$solutionFolder"

- name: Pull changes from Power Platform environment
uses: microsoft/AL-Go/Actions/PullPowerPlatformChanges@006019b87cab11f6234d05f2c34372daf3c7075d
env:
Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}'
with:
shell: powershell
token: ${{ steps.ReadSecrets.outputs.TokenForPush }}
directCommit: ${{ inputs.directCommit }}
environmentName: ${{ inputs.environment }}
solutionFolder: ${{ env.solutionFolder }}
deploymentEnvironmentsJson: ${{ steps.DetermineDeploymentEnvironments.outputs.deploymentEnvironmentsJson }}

- name: Finalize the workflow
if: always()
uses: microsoft/AL-Go/Actions/WorkflowPostProcess@006019b87cab11f6234d05f2c34372daf3c7075d
env:
GITHUB_TOKEN: ${{ github.token }}
with:
shell: powershell
telemetryScopeJson: ${{ steps.init.outputs.telemetryScopeJson }}
currentJobContext: ${{ toJson(job) }}
51 changes: 29 additions & 22 deletions .github/workflows/PullRequestHandler.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ defaults:
shell: powershell

permissions:
contents: read
actions: read
contents: read
id-token: write
pull-requests: read

env:
Expand All @@ -25,45 +26,42 @@ env:
jobs:
PregateCheck:
if: (github.event.pull_request.base.repo.full_name != github.event.pull_request.head.repo.full_name) && (github.event_name != 'pull_request')
runs-on: [ windows-latest ]
runs-on: windows-latest
steps:
- uses: microsoft/AL-Go/Actions/VerifyPRChanges@4c5bfbca1adebbf997f63882df4b9074a19aac1d
- uses: microsoft/AL-Go/Actions/VerifyPRChanges@006019b87cab11f6234d05f2c34372daf3c7075d

Initialization:
needs: [ PregateCheck ]
if: (!failure() && !cancelled())
runs-on: [ windows-latest ]
outputs:
telemetryScopeJson: ${{ steps.init.outputs.telemetryScopeJson }}
githubRunner: ${{ steps.ReadSettings.outputs.GitHubRunnerJson }}
githubRunnerShell: ${{ steps.ReadSettings.outputs.GitHubRunnerShell }}
projects: ${{ steps.determineProjectsToBuild.outputs.ProjectsJson }}
projectDependenciesJson: ${{ steps.determineProjectsToBuild.outputs.ProjectDependenciesJson }}
buildOrderJson: ${{ steps.determineProjectsToBuild.outputs.BuildOrderJson }}
baselineWorkflowRunId: ${{ steps.determineProjectsToBuild.outputs.BaselineWorkflowRunId }}
workflowDepth: ${{ steps.DetermineWorkflowDepth.outputs.WorkflowDepth }}
telemetryScopeJson: ${{ steps.init.outputs.telemetryScopeJson }}
steps:
- name: Dump Workflow Information
uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@4c5bfbca1adebbf997f63882df4b9074a19aac1d
uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@006019b87cab11f6234d05f2c34372daf3c7075d
with:
shell: powershell

- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
lfs: true
ref: refs/pull/${{ github.event.number }}/merge
ref: ${{ github.event_name == 'pull_request' && github.sha || format('refs/pull/{0}/merge', github.event.pull_request.number) }}

- name: Initialize the workflow
id: init
uses: microsoft/AL-Go/Actions/WorkflowInitialize@4c5bfbca1adebbf997f63882df4b9074a19aac1d
uses: microsoft/AL-Go/Actions/WorkflowInitialize@006019b87cab11f6234d05f2c34372daf3c7075d
with:
shell: powershell
eventId: "DO0104"

- name: Read settings
id: ReadSettings
uses: microsoft/AL-Go/Actions/ReadSettings@4c5bfbca1adebbf997f63882df4b9074a19aac1d
uses: microsoft/AL-Go/Actions/ReadSettings@006019b87cab11f6234d05f2c34372daf3c7075d
with:
shell: powershell

Expand All @@ -74,7 +72,7 @@ jobs:

- name: Determine Projects To Build
id: determineProjectsToBuild
uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@4c5bfbca1adebbf997f63882df4b9074a19aac1d
uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@006019b87cab11f6234d05f2c34372daf3c7075d
with:
shell: powershell
maxBuildDepth: ${{ env.workflowDepth }}
Expand All @@ -90,10 +88,9 @@ jobs:
uses: ./.github/workflows/_BuildALGoProject.yaml
secrets: inherit
with:
shell: ${{ needs.Initialization.outputs.githubRunnerShell }}
runsOn: ${{ needs.Initialization.outputs.githubRunner }}
checkoutRef: refs/pull/${{ github.event.number }}/merge
parentTelemetryScopeJson: ${{ needs.Initialization.outputs.telemetryScopeJson }}
shell: ${{ matrix.githubRunnerShell }}
runsOn: ${{ matrix.githubRunner }}
checkoutRef: ${{ github.event_name == 'pull_request' && github.sha || format('refs/pull/{0}/merge', github.event.pull_request.number) }}
project: ${{ matrix.project }}
projectName: ${{ matrix.projectName }}
buildMode: ${{ matrix.buildMode }}
Expand All @@ -114,10 +111,9 @@ jobs:
uses: ./.github/workflows/_BuildALGoProject.yaml
secrets: inherit
with:
shell: ${{ needs.Initialization.outputs.githubRunnerShell }}
runsOn: ${{ needs.Initialization.outputs.githubRunner }}
checkoutRef: refs/pull/${{ github.event.number }}/merge
parentTelemetryScopeJson: ${{ needs.Initialization.outputs.telemetryScopeJson }}
shell: ${{ matrix.githubRunnerShell }}
runsOn: ${{ matrix.githubRunner }}
checkoutRef: ${{ github.event_name == 'pull_request' && github.sha || format('refs/pull/{0}/merge', github.event.pull_request.number) }}
project: ${{ matrix.project }}
projectName: ${{ matrix.projectName }}
buildMode: ${{ matrix.buildMode }}
Expand All @@ -135,8 +131,19 @@ jobs:
steps:
- name: Pull Request Status Check
id: PullRequestStatusCheck
uses: microsoft/AL-Go/Actions/PullRequestStatusCheck@4c5bfbca1adebbf997f63882df4b9074a19aac1d
uses: microsoft/AL-Go/Actions/PullRequestStatusCheck@006019b87cab11f6234d05f2c34372daf3c7075d
env:
GITHUB_TOKEN: ${{ github.token }}
with:
shell: powershell

- name: Finalize the workflow
id: PostProcess
uses: microsoft/AL-Go/Actions/WorkflowPostProcess@006019b87cab11f6234d05f2c34372daf3c7075d
if: success() || failure()
env:
GITHUB_TOKEN: ${{ github.token }}
with:
shell: powershell
telemetryScopeJson: ${{ needs.Initialization.outputs.telemetryScopeJson }}
currentJobContext: ${{ toJson(job) }}
Loading
Loading