diff --git a/.AL-Go/cloudDevEnv.ps1 b/.AL-Go/cloudDevEnv.ps1 index b01c429..550c264 100644 --- a/.AL-Go/cloudDevEnv.ps1 +++ b/.AL-Go/cloudDevEnv.ps1 @@ -141,12 +141,12 @@ Write-Host -ForegroundColor Yellow @' $tmpFolder = Join-Path ([System.IO.Path]::GetTempPath()) "$([Guid]::NewGuid().ToString())" New-Item -Path $tmpFolder -ItemType Directory -Force | Out-Null -$GitHubHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/Github-Helper.psm1' -folder $tmpFolder -notifyAuthenticatedAttempt -$ReadSettingsModule = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/.Modules/ReadSettings.psm1' -folder $tmpFolder -$debugLoggingModule = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/.Modules/DebugLogHelper.psm1' -folder $tmpFolder -$ALGoHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/AL-Go-Helper.ps1' -folder $tmpFolder -DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/.Modules/settings.schema.json' -folder $tmpFolder | Out-Null -DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/Environment.Packages.proj' -folder $tmpFolder | Out-Null +$GitHubHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/Github-Helper.psm1' -folder $tmpFolder -notifyAuthenticatedAttempt +$ReadSettingsModule = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/.Modules/ReadSettings.psm1' -folder $tmpFolder +$debugLoggingModule = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/.Modules/DebugLogHelper.psm1' -folder $tmpFolder +$ALGoHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/AL-Go-Helper.ps1' -folder $tmpFolder +DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/.Modules/settings.schema.json' -folder $tmpFolder | Out-Null +DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/Environment.Packages.proj' -folder $tmpFolder | Out-Null Import-Module $GitHubHelperPath Import-Module $ReadSettingsModule diff --git a/.AL-Go/localDevEnv.ps1 b/.AL-Go/localDevEnv.ps1 index 4ea5eb0..1044e64 100644 --- a/.AL-Go/localDevEnv.ps1 +++ b/.AL-Go/localDevEnv.ps1 @@ -154,12 +154,12 @@ Write-Host -ForegroundColor Yellow @' $tmpFolder = Join-Path ([System.IO.Path]::GetTempPath()) "$([Guid]::NewGuid().ToString())" New-Item -Path $tmpFolder -ItemType Directory -Force | Out-Null -$GitHubHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/Github-Helper.psm1' -folder $tmpFolder -notifyAuthenticatedAttempt -$ReadSettingsModule = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/.Modules/ReadSettings.psm1' -folder $tmpFolder -$debugLoggingModule = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/.Modules/DebugLogHelper.psm1' -folder $tmpFolder -$ALGoHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/AL-Go-Helper.ps1' -folder $tmpFolder -DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/.Modules/settings.schema.json' -folder $tmpFolder | Out-Null -DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/Environment.Packages.proj' -folder $tmpFolder | Out-Null +$GitHubHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/Github-Helper.psm1' -folder $tmpFolder -notifyAuthenticatedAttempt +$ReadSettingsModule = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/.Modules/ReadSettings.psm1' -folder $tmpFolder +$debugLoggingModule = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/.Modules/DebugLogHelper.psm1' -folder $tmpFolder +$ALGoHelperPath = DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/AL-Go-Helper.ps1' -folder $tmpFolder +DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/.Modules/settings.schema.json' -folder $tmpFolder | Out-Null +DownloadHelperFile -url 'https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/Environment.Packages.proj' -folder $tmpFolder | Out-Null Import-Module $GitHubHelperPath Import-Module $ReadSettingsModule diff --git a/.AL-Go/settings.json b/.AL-Go/settings.json index 534433d..25d2583 100644 --- a/.AL-Go/settings.json +++ b/.AL-Go/settings.json @@ -1,5 +1,5 @@ { - "$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/.Modules/settings.schema.json", + "$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/.Modules/settings.schema.json", "country": "us", "VersioningStrategy": 16, "appFolders": [ diff --git a/.github/.agents/algo-settings.agent.md b/.github/.agents/algo-settings.agent.md new file mode 100644 index 0000000..cb82eb6 --- /dev/null +++ b/.github/.agents/algo-settings.agent.md @@ -0,0 +1,9 @@ +# AL-Go Copilot instructions + +AL-Go for GitHub controls its features using various different settings. + +When asked about settings for AL-Go, you can find the available settings and description of them at this location: https://github.com/microsoft/AL-Go/blob/main/Scenarios/settings.md, which you should read to understand what settings to suggest. + +For additional inforomation about AL-Go, you should read the 'RELEASENOTES.copy.md' file. + +When applying new settings, you should apply them to the file "AL-Go-Settings.json" diff --git a/.github/AL-Go-Settings.json b/.github/AL-Go-Settings.json index 19401c6..f6d0799 100644 --- a/.github/AL-Go-Settings.json +++ b/.github/AL-Go-Settings.json @@ -1,5 +1,5 @@ { - "$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/.Modules/settings.schema.json", + "$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/.Modules/settings.schema.json", "type": "PTE", "templateUrl": "https://github.com/microsoft/AL-Go-PTE@preview", "conditionalSettings": [ @@ -25,6 +25,6 @@ }, "doNotSignApps": true, "keyVaultCodesignCertificateName": "FreddyKristiansen", - "templateSha": "ab2dd7a59581956673267c0e5aca5e9f7a1f27da", + "templateSha": "8fe0216dffe00a150ed8c8c76fc69072b79467a5", "PullRequestTrigger": "pull_request" } diff --git a/.github/RELEASENOTES.copy.md b/.github/RELEASENOTES.copy.md index 9d9a5bb..79e31bc 100644 --- a/.github/RELEASENOTES.copy.md +++ b/.github/RELEASENOTES.copy.md @@ -2,10 +2,156 @@ 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. +### Resilient Pull Request Status Check for large builds + +The Pull Request Status Check action no longer fails on builds with more than one page of jobs (more than 100 jobs). The jobs API call now uses `--slurp` so multi-page responses are parsed as a single JSON array (previously `gh api --paginate | ConvertFrom-Json` failed with "Invalid JSON primitive" when more than one page was returned). The call is also retried, and requests a smaller page size, to tolerate the intermittent HTTP 502 responses that the GitHub jobs endpoint returns for large builds. + +### 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 compiler folder hooks + +Two new hooks are available for customizing the compiler folder creation process when workspace compilation is enabled: + +- **PreNewBcCompilerFolder.ps1** - Runs before `New-BcCompilerFolder` is called. Receives a `[hashtable] $parameters` argument containing the parameters that will be passed to `New-BcCompilerFolder`. The script can modify the hashtable in-place to customize the compiler folder creation (e.g., add a `platformArtifactUrl` to use a specific platform version). +- **PostNewBcCompilerFolder.ps1** - Runs after the compiler folder is created. Receives `[hashtable] $parameters` and `[string] $compilerFolder` arguments. + +Place these scripts in your project's `.AL-Go` folder to use them. + +### 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`. + +Example: + +```json +"ConditionalSettings": [ + { + "triggers": ["schedule", "workflow_dispatch"], + "settings": { + "additionalCountries": ["de", "us"] + } + } +] +``` + +### 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 +- Added support for incremental builds (`modifiedApps` mode) with workspace compilation. Unmodified apps are downloaded from the baseline workflow run and excluded from workspace compilation, matching the behavior of the container-based path. + +### 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. + +### Issues + +- Issue 2276 - Mitigate intermittent artifact action failures caused by the runner Node Maglev issue by setting `ACTIONS_RUNNER_DISABLE_NODE_MAGLEV` on generated artifact download and upload steps. +- Issue 2277 Auto-exclude the `copilot` GitHub environment from CI/CD deployments. When the GitHub Copilot coding agent is enabled on a repository, GitHub auto-creates an environment named `copilot`. AL-Go now treats it the same way as `github-pages` and never attempts to deploy to it. +- Issue 2236 - `GetDependencies` `buildMode` prefix leaks across dependency iterations, causing incorrect artifact mask names when multiple `appDependencyProbingPaths` entries use different build modes +- Incremental builds (`modifiedApps` mode) now correctly identify unmodified apps for projects whose `appFolders` reference paths outside the project directory (e.g. using `../`) +- Issue 2204 - Workspace compilation ignores vsixFile setting +- Issue 2211 - Cannot create a release if a project contains only test apps +- Issue 2214 - Workspace compilation not working with external dependencies +- Issue 2235 - Workspace compilation: only the first `customCodeCops` entry resolved when multiple relative paths were configured. Relative `customCodeCops` paths are now resolved against the project folder before being passed to the compiler. +- Issue 2265 - Creating a Performance Test App fails on Linux due to case-sensitive path lookup for the Performance Toolkit sample app + +## v9.0 + +### Needs Context in Build job moved from environment variable to file + +`NeedsContext` is currently available as an environment variable in the build step of AL-Go. In some cases on repos with a large amount of projects, it's possible for this variable to exceed the max size GitHub allows for such variables. To work around this issue, we now place the contents of `NeedsContext` in a json file, where `NeedsContext` is the path to that file. + +If you have any custom processes that uses `NeedsContext`, those needs to be updated to now first read the contents of the json file. The structure of the json is identical to what was previously in the variable, so only extra step is to read the file. + +### Added support for workspace compilation + +With v28 of Business Central, the ALTool now also provides the ability to compile workspaces of apps. This has the added advantage that the ALTool can compute the dependency graph for the apps in the workspace and compile apps in parallel (if possible). For AL-Go projects with large amounts of apps that can save a lot of time. If you want to try this out you can enable it via the following setting + +```json + "workspaceCompilation": { + "enabled": true + } +``` + +By default apps are compiled sequentially but this can be changed via the parallelism property. This allows you to configure the maximum amount of parallel compilation processes. Set to 0 or -1 to use all available processors. + +```json + "workspaceCompilation": { + "enabled": true, + "parallelism": 4 + } +``` + +### Test Projects — split builds and tests for faster feedback + +AL-Go now supports **test projects**: a new project type that separates test execution from compilation. A test project does not build any apps itself — instead it depends on one or more regular projects, installs the apps they produce, and runs tests against them. + +This lets you re-run tests without waiting for a full recompilation, and makes it easy to organize large repositories where builds and test suites have different scopes or cadences. + +**Getting started** + +Add a `projectsToTest` setting to the project-level `.AL-Go/settings.json` of an empty project (no `appFolders` or `testFolders`): + +```json +{ + "projectsToTest": ["build/projects/MyProject"] +} +``` + +AL-Go will automatically: + +- Resolve the dependency so the test project always builds after its target project(s). +- Install the Test Runner, Test Framework, and Test Libraries into the container. +- Run all tests from the installed test apps. + +**Key rules** + +- A test project must **not** contain buildable code (no `appFolders`, `testFolders`, or `bcptTestFolders`). AL-Go will fail with a clear error if it detects both `projectsToTest` and buildable folders. +- A test project cannot depend on another test project. +- You can target multiple projects: `"projectsToTest": ["build/projects/ProjectA", "build/projects/ProjectB"]`. +- Use full project paths as they appear in the repository. + +### Improving error detection and build reliability when downloading project dependencies + +The `DownloadProjectDependencies` action now downloads app files from URLs specified in the `installApps` and `installTestApps` settings upfront, rather than validating URLs at build time. This change provides: + +- Earlier detection of inaccessible or misconfigured URLs +- Clearer error messages when secrets are missing or URLs are invalid +- Warnings for potential issues like duplicate filenames + +### Improve overall performance by postponing projects with no dependants + +The time it takes to build projects can vary significantly depending on factors such as whether you are using Linux or Windows, Containers or CompilerFolders, and whether apps are being published or tests are being run. + +By default, projects are built according to their dependency order. As soon as all dependencies for a project are satisfied, the project is added to the next layer of jobs. + +The new setting `postponeProjectInBuildOrder` allows you to delay long running jobs (f.ex. test runs) with no dependants until the final layer of the build order. This can improve overall build performance by preventing subsequent layers from waiting on projects that take longer to complete but are not required for further dependencies. + ### Issues - Attempt to start docker service in case it is not running - NextMajor (v28) fails when downloading dependencies from NuGet-feed +- Issue 2084 Multiple artifacts failure if you re-run failed jobs after flaky tests +- Issue 2085 Projects that doesn't contain both Apps and TestApps are wrongly seen as not built. +- Issue 2086 Postpone jobs, which doesn't have any dependents to the end of the build order. +- Rework input handling of workflow 'Update AL-Go System Files' for trigger 'workflow_call' + +### New Settings + +- `postponeProjectInBuildOrder` is a new project setting, which will (if set to true) cause the project to be postponed until the last build job when possible. If set on test projects, then all tests can be deferred until all builds have succeeded. ## v8.3 diff --git a/.github/Test Current.settings.json b/.github/Test Current.settings.json index caa8910..581f911 100644 --- a/.github/Test Current.settings.json +++ b/.github/Test Current.settings.json @@ -1,5 +1,5 @@ { - "$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/.Modules/settings.schema.json", + "$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/.Modules/settings.schema.json", "artifact": "////latest", "cacheImageName": "", "versioningStrategy": 15, diff --git a/.github/Test Next Major.settings.json b/.github/Test Next Major.settings.json index 68babc6..f0d1637 100644 --- a/.github/Test Next Major.settings.json +++ b/.github/Test Next Major.settings.json @@ -1,5 +1,5 @@ { - "$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/.Modules/settings.schema.json", + "$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/.Modules/settings.schema.json", "artifact": "////nextmajor", "cacheImageName": "", "versioningStrategy": 15, diff --git a/.github/Test Next Minor.settings.json b/.github/Test Next Minor.settings.json index 6ff4f7c..8ddf3c9 100644 --- a/.github/Test Next Minor.settings.json +++ b/.github/Test Next Minor.settings.json @@ -1,5 +1,5 @@ { - "$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/.Modules/settings.schema.json", + "$schema": "https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/.Modules/settings.schema.json", "artifact": "////nextminor", "cacheImageName": "", "versioningStrategy": 15, diff --git a/.github/workflows/AddExistingAppOrTestApp.yaml b/.github/workflows/AddExistingAppOrTestApp.yaml index 9e3ee45..ed6f640 100644 --- a/.github/workflows/AddExistingAppOrTestApp.yaml +++ b/.github/workflows/AddExistingAppOrTestApp.yaml @@ -41,27 +41,27 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -69,7 +69,7 @@ jobs: useGhTokenWorkflowForPush: '${{ github.event.inputs.useGhTokenWorkflow }}' - name: Add existing app - uses: microsoft/AL-Go/Actions/AddExistingApp@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/AddExistingApp@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh token: ${{ steps.ReadSecrets.outputs.TokenForPush }} @@ -79,7 +79,7 @@ jobs: - name: Finalize the workflow if: always() - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/CICD.yaml b/.github/workflows/CICD.yaml index d3b3f38..5c34390 100644 --- a/.github/workflows/CICD.yaml +++ b/.github/workflows/CICD.yaml @@ -51,24 +51,24 @@ jobs: trackALAlertsInGitHub: ${{ steps.SetALCodeAnalysisVar.outputs.trackALAlertsInGitHub }} steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: lfs: true - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings id: ReadSettings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh get: type,powerPlatformSolutionFolder,useGitSubmodules,trackALAlertsInGitHub @@ -82,7 +82,7 @@ jobs: - name: Read submodules token id: ReadSubmodulesToken if: env.useGitSubmodules != 'false' && env.useGitSubmodules != '' - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -90,7 +90,7 @@ jobs: - name: Checkout Submodules if: env.useGitSubmodules != 'false' && env.useGitSubmodules != '' - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: lfs: true submodules: ${{ env.useGitSubmodules }} @@ -103,7 +103,7 @@ jobs: - name: Determine Projects To Build id: determineProjectsToBuild - uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh maxBuildDepth: ${{ env.workflowDepth }} @@ -116,7 +116,7 @@ jobs: - name: Determine Delivery Target Secrets id: DetermineDeliveryTargetSecrets - uses: microsoft/AL-Go/Actions/DetermineDeliveryTargets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineDeliveryTargets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh projectsJson: '${{ steps.determineProjectsToBuild.outputs.ProjectsJson }}' @@ -124,7 +124,7 @@ jobs: - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -132,7 +132,7 @@ jobs: - name: Determine Delivery Targets id: DetermineDeliveryTargets - uses: microsoft/AL-Go/Actions/DetermineDeliveryTargets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineDeliveryTargets@39fa5591e01f7569384bba8cad40cabdb5618a01 env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' with: @@ -142,7 +142,7 @@ jobs: - name: Determine Deployment Environments id: DetermineDeploymentEnvironments - uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: @@ -155,24 +155,24 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh get: templateUrl - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} getSecrets: 'ghTokenWorkflow' - name: Check for updates to AL-Go system files - uses: microsoft/AL-Go/Actions/CheckForUpdates@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/CheckForUpdates@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: @@ -213,10 +213,12 @@ jobs: name: Code Analysis Processing steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Download artifacts - ErrorLogs - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 if: (success() || failure()) with: pattern: '*-*ErrorLogs-*' @@ -226,7 +228,7 @@ jobs: - name: Process AL Code Analysis Logs id: ProcessALCodeAnalysisLogs if: (success() || failure()) - uses: microsoft/AL-Go/Actions/ProcessALCodeAnalysisLogs@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ProcessALCodeAnalysisLogs@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh @@ -252,44 +254,46 @@ jobs: url: ${{ steps.deployment.outputs.page_url }} steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Download artifacts - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 with: path: '.artifacts' - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Determine ArtifactUrl id: determineArtifactUrl - uses: microsoft/AL-Go/Actions/DetermineArtifactUrl@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineArtifactUrl@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Setup Pages if: needs.Initialization.outputs.deployALDocArtifact == 1 - uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0 + uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0 - name: Build Reference Documentation - uses: microsoft/AL-Go/Actions/BuildReferenceDocumentation@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/BuildReferenceDocumentation@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh artifacts: '.artifacts' artifactUrl: ${{ env.artifact }} - name: Upload pages artifact - uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4.0.0 + uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0 with: path: ".aldoc/_site/" - name: Deploy to GitHub Pages if: needs.Initialization.outputs.deployALDocArtifact == 1 id: deployment - uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5 + uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0 Deploy: needs: [ Initialization, Build ] @@ -308,15 +312,17 @@ jobs: ALGoEnvName: ${{ matrix.environment }} steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Download artifacts - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 with: path: '.artifacts' - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ matrix.shell }} get: type,powerPlatformSolutionFolder @@ -330,7 +336,7 @@ jobs: - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ matrix.shell }} gitHubSecrets: ${{ toJson(secrets) }} @@ -338,7 +344,7 @@ jobs: - name: Deploy to Business Central id: Deploy - uses: microsoft/AL-Go/Actions/Deploy@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/Deploy@39fa5591e01f7569384bba8cad40cabdb5618a01 env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' with: @@ -350,7 +356,7 @@ jobs: - name: Deploy to Power Platform if: env.type == 'PTE' && env.powerPlatformSolutionFolder != '' - uses: microsoft/AL-Go/Actions/DeployPowerPlatform@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DeployPowerPlatform@39fa5591e01f7569384bba8cad40cabdb5618a01 env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' with: @@ -370,28 +376,30 @@ jobs: name: Deliver to ${{ matrix.deliveryTarget }} steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Download artifacts - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 with: path: '.artifacts' - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} getSecrets: '${{ matrix.deliveryTarget }}Context' - name: Deliver - uses: microsoft/AL-Go/Actions/Deliver@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/Deliver@39fa5591e01f7569384bba8cad40cabdb5618a01 env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' with: @@ -407,11 +415,11 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Finalize the workflow id: PostProcess - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/CreateApp.yaml b/.github/workflows/CreateApp.yaml index ae4a055..b2ea9ff 100644 --- a/.github/workflows/CreateApp.yaml +++ b/.github/workflows/CreateApp.yaml @@ -51,28 +51,28 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh get: type - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -80,7 +80,7 @@ jobs: useGhTokenWorkflowForPush: '${{ github.event.inputs.useGhTokenWorkflow }}' - name: Creating a new app - uses: microsoft/AL-Go/Actions/CreateApp@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/CreateApp@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh token: ${{ steps.ReadSecrets.outputs.TokenForPush }} @@ -94,7 +94,7 @@ jobs: - name: Finalize the workflow if: always() - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/CreateOnlineDevelopmentEnvironment.yaml b/.github/workflows/CreateOnlineDevelopmentEnvironment.yaml index f8a4cfe..6fc810b 100644 --- a/.github/workflows/CreateOnlineDevelopmentEnvironment.yaml +++ b/.github/workflows/CreateOnlineDevelopmentEnvironment.yaml @@ -50,28 +50,28 @@ jobs: telemetryScopeJson: ${{ steps.init.outputs.telemetryScopeJson }} steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings id: ReadSettings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -90,7 +90,7 @@ jobs: Write-Host "AdminCenterApiCredentials not provided, initiating Device Code flow" $ALGoHelperPath = "$([System.IO.Path]::GetTempFileName()).ps1" $webClient = New-Object System.Net.WebClient - $webClient.DownloadFile('https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/AL-Go-Helper.ps1', $ALGoHelperPath) + $webClient.DownloadFile('https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/AL-Go-Helper.ps1', $ALGoHelperPath) . $ALGoHelperPath DownloadAndImportBcContainerHelper $authContext = New-BcAuthContext -includeDeviceLogin -deviceLoginTimeout ([TimeSpan]::FromSeconds(0)) @@ -109,16 +109,16 @@ jobs: deviceCode: ${{ needs.Initialization.outputs.deviceCode }} steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -137,7 +137,7 @@ jobs: Add-Content -Encoding UTF8 -Path $env:GITHUB_OUTPUT -value "adminCenterApiCredentials=$adminCenterApiCredentials" - name: Create Development Environment - uses: microsoft/AL-Go/Actions/CreateDevelopmentEnvironment@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/CreateDevelopmentEnvironment@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh token: ${{ steps.ReadSecrets.outputs.TokenForPush }} @@ -149,7 +149,7 @@ jobs: - name: Finalize the workflow if: always() - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/CreatePerformanceTestApp.yaml b/.github/workflows/CreatePerformanceTestApp.yaml index b3920e4..1522b4d 100644 --- a/.github/workflows/CreatePerformanceTestApp.yaml +++ b/.github/workflows/CreatePerformanceTestApp.yaml @@ -57,27 +57,27 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -85,7 +85,7 @@ jobs: useGhTokenWorkflowForPush: '${{ github.event.inputs.useGhTokenWorkflow }}' - name: Creating a new test app - uses: microsoft/AL-Go/Actions/CreateApp@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/CreateApp@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh token: ${{ steps.ReadSecrets.outputs.TokenForPush }} @@ -100,7 +100,7 @@ jobs: - name: Finalize the workflow if: always() - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/CreateRelease.yaml b/.github/workflows/CreateRelease.yaml index 007d798..9fc9767 100644 --- a/.github/workflows/CreateRelease.yaml +++ b/.github/workflows/CreateRelease.yaml @@ -78,35 +78,35 @@ jobs: telemetryScopeJson: ${{ steps.init.outputs.telemetryScopeJson }} steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings id: ReadSettings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh get: templateUrl,repoName,type,powerPlatformSolutionFolder - name: Validate Workflow Input if: ${{ github.event_name == 'workflow_dispatch' }} - uses: microsoft/AL-Go/Actions/ValidateWorkflowInput@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ValidateWorkflowInput@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -115,12 +115,12 @@ jobs: - name: Determine Projects id: determineProjects - uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Check for updates to AL-Go system files - uses: microsoft/AL-Go/Actions/CheckForUpdates@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/CheckForUpdates@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: @@ -130,7 +130,7 @@ jobs: downloadLatest: true - name: Determine artifacts for release - uses: microsoft/AL-Go/Actions/DetermineArtifactsForRelease@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineArtifactsForRelease@39fa5591e01f7569384bba8cad40cabdb5618a01 id: determineArtifactsForRelease with: shell: pwsh @@ -141,7 +141,7 @@ jobs: - name: Prepare release notes id: createreleasenotes - uses: microsoft/AL-Go/Actions/CreateReleaseNotes@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/CreateReleaseNotes@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh buildVersion: ${{ github.event.inputs.buildVersion }} @@ -149,7 +149,7 @@ jobs: target_commitish: ${{ steps.determineArtifactsForRelease.outputs.commitish }} - name: Create release - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 id: createrelease env: bodyMD: ${{ steps.createreleasenotes.outputs.releaseNotes }} @@ -187,16 +187,16 @@ jobs: fail-fast: true steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -219,7 +219,7 @@ jobs: Invoke-WebRequest -UseBasicParsing -Headers $headers -Uri $ENV:MATRIX_URL -OutFile "$($ENV:MATRIX_NAME).zip" - name: Upload release artifacts - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 env: releaseId: ${{ needs.createrelease.outputs.releaseId }} MATRIX_NAME: ${{ matrix.name }} @@ -240,7 +240,7 @@ jobs: }); - name: Deliver to NuGet - uses: microsoft/AL-Go/Actions/Deliver@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/Deliver@39fa5591e01f7569384bba8cad40cabdb5618a01 if: ${{ fromJson(steps.ReadSecrets.outputs.Secrets).nuGetContext != '' }} env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' @@ -253,7 +253,7 @@ jobs: atypes: 'Apps,TestApps' - name: Deliver to Storage - uses: microsoft/AL-Go/Actions/Deliver@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/Deliver@39fa5591e01f7569384bba8cad40cabdb5618a01 if: ${{ fromJson(steps.ReadSecrets.outputs.Secrets).storageContext != '' }} env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' @@ -271,7 +271,7 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: ref: '${{ needs.createRelease.outputs.commitish }}' @@ -294,16 +294,16 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -311,7 +311,7 @@ jobs: useGhTokenWorkflowForPush: '${{ github.event.inputs.useGhTokenWorkflow }}' - name: Update Version Number - uses: microsoft/AL-Go/Actions/IncrementVersionNumber@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/IncrementVersionNumber@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh token: ${{ steps.ReadSecrets.outputs.TokenForPush }} @@ -325,11 +325,11 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Finalize the workflow id: PostProcess - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/CreateTestApp.yaml b/.github/workflows/CreateTestApp.yaml index 8f47270..a04bac1 100644 --- a/.github/workflows/CreateTestApp.yaml +++ b/.github/workflows/CreateTestApp.yaml @@ -53,27 +53,27 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -81,7 +81,7 @@ jobs: useGhTokenWorkflowForPush: '${{ github.event.inputs.useGhTokenWorkflow }}' - name: Creating a new test app - uses: microsoft/AL-Go/Actions/CreateApp@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/CreateApp@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh token: ${{ steps.ReadSecrets.outputs.TokenForPush }} @@ -95,7 +95,7 @@ jobs: - name: Finalize the workflow if: always() - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/Current.yaml b/.github/workflows/Current.yaml index 1640649..f9cd500 100644 --- a/.github/workflows/Current.yaml +++ b/.github/workflows/Current.yaml @@ -33,24 +33,24 @@ jobs: telemetryScopeJson: ${{ steps.init.outputs.telemetryScopeJson }} steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: lfs: true - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings id: ReadSettings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh get: useGitSubmodules,shortLivedArtifactsRetentionDays @@ -58,7 +58,7 @@ jobs: - name: Read submodules token id: ReadSubmodulesToken if: env.useGitSubmodules != 'false' && env.useGitSubmodules != '' - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -66,7 +66,7 @@ jobs: - name: Checkout Submodules if: env.useGitSubmodules != 'false' && env.useGitSubmodules != '' - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: lfs: true submodules: ${{ env.useGitSubmodules }} @@ -80,7 +80,7 @@ jobs: - name: Determine Projects To Build id: determineProjectsToBuild - uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh maxBuildDepth: ${{ env.workflowDepth }} @@ -113,11 +113,11 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Finalize the workflow id: PostProcess - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/DeployReferenceDocumentation.yaml b/.github/workflows/DeployReferenceDocumentation.yaml index 3f6d2af..6dc8936 100644 --- a/.github/workflows/DeployReferenceDocumentation.yaml +++ b/.github/workflows/DeployReferenceDocumentation.yaml @@ -26,28 +26,28 @@ jobs: url: ${{ steps.deployment.outputs.page_url }} steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Determine ArtifactUrl id: determineArtifactUrl - uses: microsoft/AL-Go/Actions/DetermineArtifactUrl@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineArtifactUrl@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Determine Deployment Environments id: DetermineDeploymentEnvironments - uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: @@ -57,28 +57,28 @@ jobs: - name: Setup Pages if: steps.DetermineDeploymentEnvironments.outputs.deployALDocArtifact == 1 - uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0 + uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0 - name: Build Reference Documentation - uses: microsoft/AL-Go/Actions/BuildReferenceDocumentation@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/BuildReferenceDocumentation@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh artifacts: 'latest' artifactUrl: ${{ env.artifact }} - name: Upload pages artifact - uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4.0.0 + uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0 with: path: ".aldoc/_site/" - name: Deploy to GitHub Pages if: steps.DetermineDeploymentEnvironments.outputs.deployALDocArtifact == 1 id: deployment - uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5 + uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0 - name: Finalize the workflow if: always() - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/IncrementVersionNumber.yaml b/.github/workflows/IncrementVersionNumber.yaml index 2a441a0..09215c9 100644 --- a/.github/workflows/IncrementVersionNumber.yaml +++ b/.github/workflows/IncrementVersionNumber.yaml @@ -48,33 +48,33 @@ jobs: pull-requests: write steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Validate Workflow Input if: ${{ github.event_name == 'workflow_dispatch' }} - uses: microsoft/AL-Go/Actions/ValidateWorkflowInput@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ValidateWorkflowInput@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -82,7 +82,7 @@ jobs: useGhTokenWorkflowForPush: '${{ github.event.inputs.useGhTokenWorkflow }}' - name: Increment Version Number - uses: microsoft/AL-Go/Actions/IncrementVersionNumber@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/IncrementVersionNumber@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh token: ${{ steps.ReadSecrets.outputs.TokenForPush }} @@ -93,7 +93,7 @@ jobs: - name: Finalize the workflow if: always() - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/NextMajor.yaml b/.github/workflows/NextMajor.yaml index 00f33dc..b41cef2 100644 --- a/.github/workflows/NextMajor.yaml +++ b/.github/workflows/NextMajor.yaml @@ -33,24 +33,24 @@ jobs: telemetryScopeJson: ${{ steps.init.outputs.telemetryScopeJson }} steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: lfs: true - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings id: ReadSettings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh get: useGitSubmodules,shortLivedArtifactsRetentionDays @@ -58,7 +58,7 @@ jobs: - name: Read submodules token id: ReadSubmodulesToken if: env.useGitSubmodules != 'false' && env.useGitSubmodules != '' - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -66,7 +66,7 @@ jobs: - name: Checkout Submodules if: env.useGitSubmodules != 'false' && env.useGitSubmodules != '' - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: lfs: true submodules: ${{ env.useGitSubmodules }} @@ -80,7 +80,7 @@ jobs: - name: Determine Projects To Build id: determineProjectsToBuild - uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh maxBuildDepth: ${{ env.workflowDepth }} @@ -113,11 +113,11 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Finalize the workflow id: PostProcess - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/NextMinor.yaml b/.github/workflows/NextMinor.yaml index a746f00..4dbc609 100644 --- a/.github/workflows/NextMinor.yaml +++ b/.github/workflows/NextMinor.yaml @@ -33,24 +33,24 @@ jobs: telemetryScopeJson: ${{ steps.init.outputs.telemetryScopeJson }} steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: lfs: true - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings id: ReadSettings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh get: useGitSubmodules,shortLivedArtifactsRetentionDays @@ -58,7 +58,7 @@ jobs: - name: Read submodules token id: ReadSubmodulesToken if: env.useGitSubmodules != 'false' && env.useGitSubmodules != '' - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -66,7 +66,7 @@ jobs: - name: Checkout Submodules if: env.useGitSubmodules != 'false' && env.useGitSubmodules != '' - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: lfs: true submodules: ${{ env.useGitSubmodules }} @@ -80,7 +80,7 @@ jobs: - name: Determine Projects To Build id: determineProjectsToBuild - uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh maxBuildDepth: ${{ env.workflowDepth }} @@ -113,11 +113,11 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Finalize the workflow id: PostProcess - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/PublishToEnvironment.yaml b/.github/workflows/PublishToEnvironment.yaml index 9a30682..ac14973 100644 --- a/.github/workflows/PublishToEnvironment.yaml +++ b/.github/workflows/PublishToEnvironment.yaml @@ -42,28 +42,28 @@ jobs: telemetryScopeJson: ${{ steps.init.outputs.telemetryScopeJson }} steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings id: ReadSettings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Determine Deployment Environments id: DetermineDeploymentEnvironments - uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineDeploymentEnvironments@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: @@ -82,7 +82,7 @@ jobs: - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 if: steps.DetermineDeploymentEnvironments.outputs.UnknownEnvironment == 1 with: shell: pwsh @@ -114,7 +114,7 @@ jobs: Write-Host "No AuthContext provided for $envName, initiating Device Code flow" $ALGoHelperPath = "$([System.IO.Path]::GetTempFileName()).ps1" $webClient = New-Object System.Net.WebClient - $webClient.DownloadFile('https://raw.githubusercontent.com/microsoft/AL-Go/91c2f1bab7959cffc66fd9513a1d83ec9f641e30/Actions/AL-Go-Helper.ps1', $ALGoHelperPath) + $webClient.DownloadFile('https://raw.githubusercontent.com/microsoft/AL-Go/39fa5591e01f7569384bba8cad40cabdb5618a01/Actions/AL-Go-Helper.ps1', $ALGoHelperPath) . $ALGoHelperPath DownloadAndImportBcContainerHelper $authContext = New-BcAuthContext -includeDeviceLogin -deviceLoginTimeout ([TimeSpan]::FromSeconds(0)) @@ -140,7 +140,7 @@ jobs: ALGoEnvName: ${{ matrix.environment }} steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: EnvName id: envName @@ -150,21 +150,21 @@ jobs: Add-Content -Encoding UTF8 -Path $env:GITHUB_OUTPUT -Value "envName=$envName" - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ matrix.shell }} get: type,powerPlatformSolutionFolder - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ matrix.shell }} gitHubSecrets: ${{ toJson(secrets) }} getSecrets: '${{ steps.envName.outputs.envName }}-AuthContext,${{ steps.envName.outputs.envName }}_AuthContext,AuthContext' - name: Get Artifacts for deployment - uses: microsoft/AL-Go/Actions/GetArtifactsForDeployment@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/GetArtifactsForDeployment@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ matrix.shell }} artifactsVersion: ${{ github.event.inputs.appVersion }} @@ -173,7 +173,7 @@ jobs: - name: Deploy to Business Central id: Deploy - uses: microsoft/AL-Go/Actions/Deploy@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/Deploy@39fa5591e01f7569384bba8cad40cabdb5618a01 env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' with: @@ -186,7 +186,7 @@ jobs: - name: Deploy to Power Platform if: env.type == 'PTE' && env.powerPlatformSolutionFolder != '' - uses: microsoft/AL-Go/Actions/DeployPowerPlatform@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DeployPowerPlatform@39fa5591e01f7569384bba8cad40cabdb5618a01 env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' with: @@ -201,11 +201,11 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Finalize the workflow id: PostProcess - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/PullRequestHandler.yaml b/.github/workflows/PullRequestHandler.yaml index 438e2e1..4b5050c 100644 --- a/.github/workflows/PullRequestHandler.yaml +++ b/.github/workflows/PullRequestHandler.yaml @@ -31,7 +31,7 @@ jobs: 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 steps: - - uses: microsoft/AL-Go/Actions/VerifyPRChanges@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + - uses: microsoft/AL-Go/Actions/VerifyPRChanges@39fa5591e01f7569384bba8cad40cabdb5618a01 Initialization: needs: [ PregateCheck ] @@ -49,25 +49,25 @@ jobs: trackALAlertsInGitHub: ${{ steps.SetALCodeAnalysisVar.outputs.trackALAlertsInGitHub }} steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: lfs: true ref: ${{ github.event_name == 'pull_request' && github.sha || github.event_name == 'merge_group' && github.ref || format('refs/pull/{0}/merge', github.event.pull_request.number) }} - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings id: ReadSettings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh get: shortLivedArtifactsRetentionDays,trackALAlertsInGitHub @@ -86,7 +86,7 @@ jobs: - name: Determine Projects To Build id: determineProjectsToBuild - uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineProjectsToBuild@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh maxBuildDepth: ${{ env.workflowDepth }} @@ -124,12 +124,14 @@ jobs: name: Code Analysis Processing steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: ref: ${{ format('refs/pull/{0}/head', github.event.pull_request.number) }} - name: Download artifacts - ErrorLogs - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 if: (success() || failure()) with: pattern: '*-*ErrorLogs-*' @@ -139,7 +141,7 @@ jobs: - name: Process AL Code Analysis Logs id: ProcessALCodeAnalysisLogs if: (success() || failure()) - uses: microsoft/AL-Go/Actions/ProcessALCodeAnalysisLogs@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ProcessALCodeAnalysisLogs@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh @@ -160,7 +162,7 @@ jobs: steps: - name: Pull Request Status Check id: PullRequestStatusCheck - uses: microsoft/AL-Go/Actions/PullRequestStatusCheck@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/PullRequestStatusCheck@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: @@ -168,7 +170,7 @@ jobs: - name: Finalize the workflow id: PostProcess - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 if: success() || failure() env: GITHUB_TOKEN: ${{ github.token }} diff --git a/.github/workflows/Troubleshooting.yaml b/.github/workflows/Troubleshooting.yaml index 46ce1e4..e3efbb7 100644 --- a/.github/workflows/Troubleshooting.yaml +++ b/.github/workflows/Troubleshooting.yaml @@ -25,12 +25,12 @@ jobs: runs-on: [ ubuntu-latest ] steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: lfs: true - name: Troubleshooting - uses: microsoft/AL-Go/Actions/Troubleshooting@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/Troubleshooting@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} diff --git a/.github/workflows/UpdateGitHubGoSystemFiles.yaml b/.github/workflows/UpdateGitHubGoSystemFiles.yaml index 2e2eec6..f310756 100644 --- a/.github/workflows/UpdateGitHubGoSystemFiles.yaml +++ b/.github/workflows/UpdateGitHubGoSystemFiles.yaml @@ -21,6 +21,10 @@ on: default: '' workflow_call: inputs: + caller: + description: Name of the calling workflow (use github.workflow as value when calling) + type: string + required: true templateUrl: description: Template Repository URL (current is https://github.com/microsoft/AL-Go-PTE@preview) type: string @@ -52,6 +56,7 @@ defaults: shell: pwsh env: + WorkflowEventName: ${{ inputs.caller && 'workflow_call' || github.event_name }} ALGoOrgSettings: ${{ vars.ALGoOrgSettings }} ALGoRepoSettings: ${{ vars.ALGoRepoSettings }} @@ -64,26 +69,27 @@ jobs: TemplateUrl: ${{ steps.DetermineTemplateUrl.outputs.TemplateUrl }} steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Read settings id: ReadSettings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh get: templateUrl - name: Get Workflow Multi-Run Branches id: GetBranches - uses: microsoft/AL-Go/Actions/GetWorkflowMultiRunBranches@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/GetWorkflowMultiRunBranches@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - includeBranches: ${{ github.event.inputs.includeBranches }} + workflowEventName: ${{ env.WorkflowEventName }} + includeBranches: ${{ inputs.includeBranches }} - name: Determine Template URL id: DetermineTemplateUrl env: - TemplateUrlAsInput: '${{ github.event.inputs.templateUrl }}' + TemplateUrlAsInput: '${{ inputs.templateUrl }}' run: | $templateUrl = $env:templateUrl # Available from ReadSettings step if ($ENV:TemplateUrlAsInput) { @@ -104,30 +110,30 @@ jobs: steps: - name: Dump Workflow Information - uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DumpWorkflowInfo@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: ref: ${{ matrix.branch }} - name: Initialize the workflow id: init - uses: microsoft/AL-Go/Actions/WorkflowInitialize@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowInitialize@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh get: commitOptions - name: Read secrets id: ReadSecrets - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: pwsh gitHubSecrets: ${{ toJson(secrets) }} @@ -135,12 +141,12 @@ jobs: - name: Calculate Commit Options env: - directCommit: '${{ github.event.inputs.directCommit }}' - downloadLatest: '${{ github.event.inputs.downloadLatest }}' + directCommit: '${{ inputs.directCommit }}' + downloadLatest: '${{ inputs.downloadLatest }}' run: | $errorActionPreference = "Stop"; $ProgressPreference = "SilentlyContinue"; Set-StrictMode -Version 2.0 - if('${{ github.event_name }}' -in 'workflow_dispatch', 'workflow_call') { - Write-Host "Using inputs from ${{ github.event_name }} event" + if($env:WorkflowEventName -in 'workflow_dispatch', 'workflow_call') { + Write-Host "Using inputs from $($env:WorkflowEventName) event" $directCommit = $env:directCommit $downloadLatest = $env:downloadLatest } @@ -154,7 +160,7 @@ jobs: Add-Content -Encoding UTF8 -Path $env:GITHUB_ENV -Value "downloadLatest=$downloadLatest" - name: Update AL-Go system files - uses: microsoft/AL-Go/Actions/CheckForUpdates@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/CheckForUpdates@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: @@ -168,7 +174,7 @@ jobs: - name: Finalize the workflow if: always() - uses: microsoft/AL-Go/Actions/WorkflowPostProcess@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/WorkflowPostProcess@39fa5591e01f7569384bba8cad40cabdb5618a01 env: GITHUB_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/_BuildALGoProject.yaml b/.github/workflows/_BuildALGoProject.yaml index fa44c78..91b170c 100644 --- a/.github/workflows/_BuildALGoProject.yaml +++ b/.github/workflows/_BuildALGoProject.yaml @@ -98,22 +98,30 @@ jobs: name: ${{ inputs.projectName }} (${{ inputs.buildMode }}) steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: ref: ${{ inputs.checkoutRef }} lfs: true - name: Read settings - uses: microsoft/AL-Go/Actions/ReadSettings@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSettings@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ inputs.shell }} project: ${{ inputs.project }} buildMode: ${{ inputs.buildMode }} - get: useCompilerFolder,keyVaultCodesignCertificateName,doNotSignApps,doNotRunTests,doNotRunBcptTests,doNotRunpageScriptingTests,artifact,generateDependencyArtifact,trustedSigning,useGitSubmodules,trackALAlertsInGitHub + get: useCompilerFolder,workspaceCompilation,keyVaultCodesignCertificateName,doNotSignApps,doNotRunTests,doNotRunBcptTests,doNotRunpageScriptingTests,artifact,generateDependencyArtifact,trustedSigning,useGitSubmodules,trackALAlertsInGitHub,skipUpgrade + + - name: Run Build Initialize hook + if: hashFiles(format('{0}/.AL-Go/BuildInitialize.ps1', inputs.project)) != '' + uses: microsoft/AL-Go/Actions/RunHook@39fa5591e01f7569384bba8cad40cabdb5618a01 + with: + shell: ${{ inputs.shell }} + project: ${{ inputs.project }} + hookName: BuildInitialize - name: Determine whether to build project id: DetermineBuildProject - uses: microsoft/AL-Go/Actions/DetermineBuildProject@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineBuildProject@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ inputs.shell }} skippedProjectsJson: ${{ inputs.skippedProjectsJson }} @@ -123,7 +131,7 @@ jobs: - name: Read secrets id: ReadSecrets if: steps.DetermineBuildProject.outputs.BuildIt == 'True' - uses: microsoft/AL-Go/Actions/ReadSecrets@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/ReadSecrets@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ inputs.shell }} gitHubSecrets: ${{ toJson(secrets) }} @@ -131,7 +139,7 @@ jobs: - name: Checkout Submodules if: env.useGitSubmodules != 'false' && env.useGitSubmodules != '' - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: ref: ${{ inputs.checkoutRef }} lfs: true @@ -141,14 +149,14 @@ jobs: - name: Determine ArtifactUrl id: determineArtifactUrl if: steps.DetermineBuildProject.outputs.BuildIt == 'True' - uses: microsoft/AL-Go/Actions/DetermineArtifactUrl@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DetermineArtifactUrl@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ inputs.shell }} project: ${{ inputs.project }} - name: Cache Business Central Artifacts if: steps.DetermineBuildProject.outputs.BuildIt == 'True' && env.useCompilerFolder == 'True' && inputs.useArtifactCache && env.artifactCacheKey - uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: ${{ runner.temp }}/.artifactcache key: ${{ env.artifactCacheKey }} @@ -156,7 +164,7 @@ jobs: - name: Download Project Dependencies id: DownloadProjectDependencies if: steps.DetermineBuildProject.outputs.BuildIt == 'True' - uses: microsoft/AL-Go/Actions/DownloadProjectDependencies@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/DownloadProjectDependencies@39fa5591e01f7569384bba8cad40cabdb5618a01 env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' with: @@ -166,13 +174,49 @@ jobs: projectDependenciesJson: ${{ inputs.projectDependenciesJson }} baselineWorkflowRunId: ${{ inputs.baselineWorkflowRunId }} + - name: Download Previous Release + id: DownloadPreviousRelease + if: steps.DetermineBuildProject.outputs.BuildIt == 'True' && env.skipUpgrade == 'False' + uses: microsoft/AL-Go/Actions/DownloadPreviousRelease@39fa5591e01f7569384bba8cad40cabdb5618a01 + with: + shell: ${{ inputs.shell }} + project: ${{ inputs.project }} + + - name: Compile Apps + id: compile + uses: microsoft/AL-Go/Actions/CompileApps@39fa5591e01f7569384bba8cad40cabdb5618a01 + if: steps.DetermineBuildProject.outputs.BuildIt == 'True' && fromJson(env.workspaceCompilation).enabled == true + env: + Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' + BuildMode: ${{ inputs.buildMode }} + with: + shell: ${{ inputs.shell }} + artifact: ${{ env.artifact }} + project: ${{ inputs.project }} + buildMode: ${{ inputs.buildMode }} + dependencyAppsJson: ${{ steps.DownloadProjectDependencies.outputs.DownloadedApps }} + dependencyTestAppsJson: ${{ steps.DownloadProjectDependencies.outputs.DownloadedTestApps }} + baselineWorkflowRunId: ${{ inputs.baselineWorkflowRunId }} + baselineWorkflowSHA: ${{ inputs.baselineWorkflowSHA }} + previousAppsPath: ${{ steps.DownloadPreviousRelease.outputs.PreviousAppsPath }} + + - name: Save needs context to file + shell: pwsh + run: | + $nc = @' + ${{ inputs.needsContext }} + '@ + $needsContextPath = Join-Path $ENV:RUNNER_TEMP 'needsContext.json' + [System.IO.File]::WriteAllText($needsContextPath, $nc.Trim()) + Add-Content -Encoding UTF8 -Path $env:GITHUB_ENV -Value "NeedsContext=$needsContextPath" + - name: Build - uses: microsoft/AL-Go/Actions/RunPipeline@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/RunPipeline@39fa5591e01f7569384bba8cad40cabdb5618a01 if: steps.DetermineBuildProject.outputs.BuildIt == 'True' env: Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}' BuildMode: ${{ inputs.buildMode }} - NeedsContext: ${{ inputs.needsContext }} + NeedsContext: ${{ env.NeedsContext }} with: shell: ${{ inputs.shell }} artifact: ${{ env.artifact }} @@ -182,11 +226,12 @@ jobs: installTestAppsJson: ${{ steps.DownloadProjectDependencies.outputs.DownloadedTestApps }} baselineWorkflowRunId: ${{ inputs.baselineWorkflowRunId }} baselineWorkflowSHA: ${{ inputs.baselineWorkflowSHA }} + previousAppsPath: ${{ steps.DownloadPreviousRelease.outputs.PreviousAppsPath }} - name: Sign id: sign if: steps.DetermineBuildProject.outputs.BuildIt == 'True' && inputs.signArtifacts && env.doNotSignApps == 'False' && (env.keyVaultCodesignCertificateName != '' || (fromJson(env.trustedSigning).Endpoint != '' && fromJson(env.trustedSigning).Account != '' && fromJson(env.trustedSigning).CertificateProfile != '')) && (hashFiles(format('{0}/.buildartifacts/Apps/*.app',inputs.project)) != '') - uses: microsoft/AL-Go/Actions/Sign@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/Sign@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ inputs.shell }} azureCredentialsJson: '${{ fromJson(steps.ReadSecrets.outputs.Secrets).AZURE_CREDENTIALS }}' @@ -194,7 +239,7 @@ jobs: - name: Calculate Artifact names id: calculateArtifactsNames - uses: microsoft/AL-Go/Actions/CalculateArtifactNames@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/CalculateArtifactNames@39fa5591e01f7569384bba8cad40cabdb5618a01 if: success() || failure() with: shell: ${{ inputs.shell }} @@ -203,7 +248,9 @@ jobs: suffix: ${{ inputs.artifactsNameSuffix }} - name: Publish artifacts - apps - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 if: inputs.artifactsRetentionDays >= 0 && (hashFiles(format('{0}/.buildartifacts/Apps/*',inputs.project)) != '') with: name: ${{ steps.calculateArtifactsNames.outputs.AppsArtifactsName }} @@ -212,7 +259,9 @@ jobs: retention-days: ${{ inputs.artifactsRetentionDays }} - name: Publish artifacts - dependencies - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 if: inputs.artifactsRetentionDays >= 0 && env.generateDependencyArtifact == 'True' && (hashFiles(format('{0}/.buildartifacts/Dependencies/*',inputs.project)) != '') with: name: ${{ steps.calculateArtifactsNames.outputs.DependenciesArtifactsName }} @@ -221,7 +270,9 @@ jobs: retention-days: ${{ inputs.artifactsRetentionDays }} - name: Publish artifacts - test apps - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 if: inputs.artifactsRetentionDays >= 0 && (hashFiles(format('{0}/.buildartifacts/TestApps/*',inputs.project)) != '') with: name: ${{ steps.calculateArtifactsNames.outputs.TestAppsArtifactsName }} @@ -230,7 +281,9 @@ jobs: retention-days: ${{ inputs.artifactsRetentionDays }} - name: Publish artifacts - build output - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 if: (success() || failure()) && (hashFiles(format('{0}/BuildOutput.txt',inputs.project)) != '') with: name: ${{ steps.calculateArtifactsNames.outputs.BuildOutputArtifactsName }} @@ -238,7 +291,9 @@ jobs: if-no-files-found: ignore - name: Publish artifacts - container event log - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 if: (failure()) && (hashFiles(format('{0}/ContainerEventLog.evtx',inputs.project)) != '') with: name: ${{ steps.calculateArtifactsNames.outputs.ContainerEventLogArtifactsName }} @@ -246,7 +301,9 @@ jobs: if-no-files-found: ignore - name: Publish artifacts - test results - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 if: (success() || failure()) && (hashFiles(format('{0}/.buildartifacts/TestResults.xml',inputs.project)) != '') with: name: ${{ steps.calculateArtifactsNames.outputs.TestResultsArtifactsName }} @@ -254,7 +311,9 @@ jobs: if-no-files-found: ignore - name: Publish artifacts - bcpt test results - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 if: (success() || failure()) && (hashFiles(format('{0}/.buildartifacts/bcptTestResults.json',inputs.project)) != '') with: name: ${{ steps.calculateArtifactsNames.outputs.BcptTestResultsArtifactsName }} @@ -262,7 +321,9 @@ jobs: if-no-files-found: ignore - name: Publish artifacts - page scripting test results - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 if: (success() || failure()) && (hashFiles(format('{0}/.buildartifacts/PageScriptingTestResults.xml',inputs.project)) != '') with: name: ${{ steps.calculateArtifactsNames.outputs.PageScriptingTestResultsArtifactsName }} @@ -270,7 +331,9 @@ jobs: if-no-files-found: ignore - name: Publish artifacts - page scripting test result details - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 if: (success() || failure()) && (hashFiles(format('{0}/.buildartifacts/PageScriptingTestResultDetails/*',inputs.project)) != '') with: name: ${{ steps.calculateArtifactsNames.outputs.PageScriptingTestResultDetailsArtifactsName }} @@ -278,7 +341,9 @@ jobs: if-no-files-found: ignore - name: Publish artifacts - ErrorLogs - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + env: + ACTIONS_RUNNER_DISABLE_NODE_MAGLEV: 1 if: (success() || failure()) && inputs.artifactsRetentionDays >= 0 && (hashFiles(format('{0}/.buildartifacts/ErrorLogs/*',inputs.project)) != '') && env.trackALAlertsInGitHub == 'True' with: name: ${{ steps.calculateArtifactsNames.outputs.ErrorLogsArtifactsName }} @@ -289,7 +354,7 @@ jobs: - name: Analyze Test Results id: analyzeTestResults if: (success() || failure()) && env.doNotRunTests == 'False' - uses: microsoft/AL-Go/Actions/AnalyzeTests@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/AnalyzeTests@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ inputs.shell }} project: ${{ inputs.project }} @@ -298,7 +363,7 @@ jobs: - name: Analyze BCPT Test Results id: analyzeTestResultsBCPT if: (success() || failure()) && env.doNotRunBcptTests == 'False' - uses: microsoft/AL-Go/Actions/AnalyzeTests@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/AnalyzeTests@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ inputs.shell }} project: ${{ inputs.project }} @@ -307,7 +372,7 @@ jobs: - name: Analyze Page Scripting Test Results id: analyzeTestResultsPageScripting if: (success() || failure()) && env.doNotRunpageScriptingTests == 'False' - uses: microsoft/AL-Go/Actions/AnalyzeTests@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/AnalyzeTests@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ inputs.shell }} project: ${{ inputs.project }} @@ -315,7 +380,7 @@ jobs: - name: Cleanup if: always() && steps.DetermineBuildProject.outputs.BuildIt == 'True' - uses: microsoft/AL-Go/Actions/PipelineCleanup@91c2f1bab7959cffc66fd9513a1d83ec9f641e30 + uses: microsoft/AL-Go/Actions/PipelineCleanup@39fa5591e01f7569384bba8cad40cabdb5618a01 with: shell: ${{ inputs.shell }} project: ${{ inputs.project }}