AL-Go projects with large amounts of apps will fill up the environment variable#2049
Conversation
There was a problem hiding this comment.
Pull request overview
This PR addresses an issue where AL-Go projects with large numbers of apps would exceed the 65,535 byte environment variable limit during CI/CD workflows. The solution changes the approach from passing large JSON-formatted app lists as environment variables to writing them as files in temporary folders and passing file paths instead.
Key changes:
- Modified
DownloadProjectDependenciesto write downloaded app lists to temporary JSON files instead of returning JSON strings - Updated
RunPipelineto read app lists from file paths instead of parsing JSON strings from parameters - Updated documentation to reflect that parameters now accept file paths instead of JSON strings
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| RELEASENOTES.md | Added release note documenting the fix for large environment variable issue |
| Actions/RunPipeline/action.yaml | Changed input descriptions and defaults to indicate file paths instead of JSON strings |
| Actions/RunPipeline/RunPipeline.ps1 | Added logic to read app lists from files when paths are provided |
| Actions/RunPipeline/README.md | Updated documentation to reflect file path inputs |
| Actions/DownloadProjectDependencies/DownloadProjectDependencies.Action.ps1 | Changed to write app lists to temporary files and output file paths |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
mazhelez
left a comment
There was a problem hiding this comment.
Looks good. Just one more iteration.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…/AL-Go into aholstrup/installapps
…rup/installapps
|
Co-authored-by: Maria Zhelezova <43066499+mazhelez@users.noreply.github.com>
…rup/installapps
…/AL-Go into aholstrup/installapps
❔What, Why & How
Repro steps:
AL-Go will run the CI/CD in two phases. It will build a lot of apps in the first phase, and then in phase 2 those apps will downloaded as part of the "Download Project Dependencies" action. Here, AL-Go constructs a list of apps and then outputs that list. Once we start the "RunPipeline" action those lists of apps will be added as an environment variable. Once that happens we get:
If you have a lot of apps, this list will very quickly become quite large and will therefore fill up the environment block.
Proposed Solution:
Write the lists to files in a temporary folder and read the lists from those files instead of making them environment variables.
✅ Checklist