diff --git a/Actions/.Modules/settings.schema.json b/Actions/.Modules/settings.schema.json index 4a1cd415d..a1ac71ab8 100644 --- a/Actions/.Modules/settings.schema.json +++ b/Actions/.Modules/settings.schema.json @@ -466,7 +466,8 @@ "description": "The shell to be used for the GitHub runner. See https://aka.ms/ALGoSettings#githubrunnershell" }, "cacheImageName": { - "type": "string" + "type": "string", + "description": "When using self-hosted runners or localDevEnv, cacheImageName specifies the prefix for the docker image created for increased performance. Set to an empty string to retain the previous local-development behavior. See https://aka.ms/ALGoSettings#cacheimagename" }, "cacheKeepDays": { "type": "number", diff --git a/Actions/AL-Go-Helper.ps1 b/Actions/AL-Go-Helper.ps1 index fdda3213f..209b2a399 100644 --- a/Actions/AL-Go-Helper.ps1 +++ b/Actions/AL-Go-Helper.ps1 @@ -1825,11 +1825,16 @@ function CreateDevEnv { $sharedFolder = $baseFolder } + $imageName = "" + if ($kind -eq "local") { + $imageName = $settings.cacheImageName + } + Run-AlPipeline @runAlPipelineParams ` -accept_insiderEula:$accept_insiderEula ` -vsixFile $settings.vsixFile ` -pipelinename $workflowName ` - -imageName "" ` + -imageName $imageName ` -memoryLimit $settings.memoryLimit ` -baseFolder $projectFolder ` -sharedFolder $sharedFolder ` diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 1daebdd44..20dd0a029 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -2,6 +2,11 @@ The starter Azure Data Explorer dashboard now includes dedicated views for workflow reliability, run exploration, test quality, workflow duration, runner efficiency, and AL-Go maintenance. It also provides repository, workflow, branch, and repository-type filtering, clearer empty states, and repository-level runtime supportability information. +### Local development environments use cacheImageName + +localDevEnv now passes the configured cacheImageName to Run-AlPipeline, allowing BcContainerHelper to reuse artifact-specific images. +To retain the previous behavior, set `cacheImageName` to an empty string in .AL-Go/localDevEnv.settings.json. + ## v9.2 ### New `doNotPerformUpgrade` setting diff --git a/Scenarios/settings.md b/Scenarios/settings.md index c0118f92d..ddbc694ce 100644 --- a/Scenarios/settings.md +++ b/Scenarios/settings.md @@ -126,7 +126,7 @@ The repository settings are only read from the repository settings file (.github | alwaysBuildAllProjects (**deprecated**) | This setting only makes sense if the repository is setup for multiple projects.
Standard behavior of the CI/CD workflow is to only build the projects, in which files have changes when running the workflow due to a push or a pull request | false | | fullBuildPatterns | Use this setting to list important files and folders. Changes to any of these files and folders would trigger a full Pull Request build (all AL-Go projects will be built).
*Examples*:
1. Specifying `fullBuildPatterns` as `[ "Build/*" ]` means that any changes from a PR to the `Build` folder would trigger a full build.
2. Specifying `fullBuildPatterns` as `[ "*" ]` means that any changes from a PR would trigger a full build and it is equivalent to setting `alwaysBuildAllProjects` to `true`. | [ ] | | skipUpgrade | This setting is used to signal to the pipeline to NOT run upgrade and ignore previous releases of the app. | false | -| cacheImageName | When using self-hosted runners, cacheImageName specifies the prefix for the docker image created for increased performance | my | +| cacheImageName | When using self-hosted runners or localDevEnv, cacheImageName specifies the prefix for the docker image created for increased performance. Set cacheImageName in `localDevEnv.settings.json` to an empty string to retain the previous local-development behavior. | my | | cacheKeepDays | When using self-hosted runners, cacheKeepDays specifies the number of days docker image are cached before cleaned up when running the next pipeline.
Note that setting cacheKeepDays to 0 will flush the cache before every build and will cause all other running builds using agents on the same host to fail. | 3 | | assignPremiumPlan | Setting assignPremiumPlan to true in your project setting file, causes the build container to be created with the AssignPremiumPlan set. This causes the auto-created user to have Premium Plan enabled. This setting is needed if your tests require premium plan enabled. | false | | enableTaskScheduler | Setting enableTaskScheduler to true in your project setting file, causes the build container to be created with the Task Scheduler running. | false |