Skip to content

Fix dependency filenames containing commas - #2403

Merged
Alexander Holstrup (aholstrup1) merged 2 commits into
mainfrom
aholstrup1-dependency-filename-comma-bug
Oct 14, 2026
Merged

Alexander Holstrup (aholstrup1) merged 2 commits into
mainfrom
aholstrup1-dependency-filename-comma-bug

Conversation

@aholstrup1

Copy link
Copy Markdown
Collaborator

❔What, Why & How

A single dependency read from JSON can become a scalar string. BCContainerHelper interprets string inputs as comma-separated lists, splitting valid filenames such as Example Publisher, LLC_Core_1.0.0.0.app into two missing paths.

Cast installApps and installTestApps to [string[]] at the Run-AlPipeline call boundary. This preserves arrays or null, including after the test-app marker transformation.

Download Project Dependencies also checks resolved files using Test-Path -LiteralPath -PathType Leaf before writing its output lists. Missing files and check exceptions produce warnings with the full path; checks continue and outputs remain unchanged. This is diagnostic only and does not change BCContainerHelper's separate failed-path comma-splitting fallback.

Related to issue: #2398

Fixes: #2398

Validation: Invoke-Pester -Path .\Tests\DownloadProjectDependencies.Test.ps1 -Output Minimal -PassThru passed with 59 tests on PowerShell 7. Coverage includes literal filenames, test-app markers, missing files, and non-blocking check exceptions. Final changes have not been tested on Linux or rerun on Windows PowerShell 5.1.

✅ Checklist

  • Add tests (E2E, unit tests)
  • Update RELEASENOTES.md
  • Update documentation (e.g. for new settings or scenarios)
  • Add telemetry

Preserve install app arrays at the Run-AlPipeline boundary and warn non-fatally about missing resolved dependency files.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 12, 2026 14:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The core array-casting regression lacks coverage, and exception diagnostics report marker-wrapped test-app paths.

2 open findings
What changed in this PR

Fixes comma-containing dependency filenames by preserving array semantics and adding path diagnostics.

Changes:

  • Casts dependency inputs to string[] before Run-AlPipeline.
  • Warns about missing or inaccessible resolved dependencies.
  • Adds tests and release notes.
File Description
Actions/​RunPipeline/​RunPipeline.ps1 Preserves dependency arrays at the pipeline boundary.
Actions/​DownloadProjectDependencies/​DownloadProjectDependencies.psm1 Adds dependency-file validation warnings.
Actions/​DownloadProjectDependencies/​DownloadProjectDependencies.Action.ps1 Invokes dependency validation.
Tests/​DownloadProjectDependencies.Test.ps1 Tests validation behavior and literal paths.
RELEASENOTES.md Documents the fix.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread Actions/RunPipeline/RunPipeline.ps1
Comment thread Actions/DownloadProjectDependencies/DownloadProjectDependencies.psm1 Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@aholstrup1
Alexander Holstrup (aholstrup1) merged commit 3b7daae into main Oct 14, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: AL-Go v9.1/v9.2 splits dependency app filenames containing a comma `

4 participants