Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New-BcCompilerFolder populates symbols with different naming pattern, depending on used artifact #3839

Open
MODUSCarstenScholling opened this issue Feb 21, 2025 · 1 comment
Assignees

Comments

@MODUSCarstenScholling
Copy link
Contributor

Describe the issue
New-BcCompilerFolder populates symbols with different naming pattern, depending on used artifact. This is causing missing symbols when publishing container symbols/apps, because they are not found with pattern _...*.app.

I see three different combinations:

  • Sandbox DE artifacts all have versions in their symbol names
  • OnPrem DE artifacts don't have any versions at all
  • Sandbox W1 has a funny mix, regular symbols with versions, test symbols without.

This is causing errors similar to the following:

2025-02-20T14:56:37.6248236Z error AL1024: A package with publisher 'Microsoft', name 'Tests-TestLibraries', and a version compatible with '25.0.0.0' could not be loaded. Symbols for the requested app Tests-TestLibraries by Microsoft 25.0.0.0 could not be found in the database.
2025-02-20T14:56:37.6262209Z error AL1024: A package with publisher 'Microsoft', name 'System Application Test Library', and a version compatible with '25.0.0.0' could not be loaded. Symbols for the requested app System Application Test Library by Microsoft 25.0.0.0 could not be found in the database.

Scripts used to create container and cause the issue

This should create the mixed version symbols folder:

$type = 'sandbox';
$version = '26.0.29552.0';
$artifactUrl = "https://bcartifacts-exdbf9fwegejdqak.b02.azurefd.net/$type/$version/w1";

$daFolda = New-BcCompilerFolder -artifactUrl $artifactUrl -containerName "$type-$version"

Additional context
I have fixed this locally in HelperFunctions.ps1 in function GetTestToolkitApps by collecting the app files with and without version numbers. My first idea to normalize the content of the symbols folder does not work, because that would need repopulation.

        $appFiles = @()
        $apps | ForEach-Object {
            $tempAppFiles = @(Get-ChildItem -Path $symbolsFolder -Filter "$($_)_*.*.*.*.app");
            
            if ($tempAppFiles.Count -le 0) {
                $tempAppFiles += @(Get-ChildItem -Path $symbolsFolder -Filter "$($_).app");
            }

            $appFiles += @($tempAppFiles | Where-Object {($version.Major -ge 17 -or ($_.Name -notlike 'Microsoft_Tests-Marketing_*.*.*.*.app')) -and $_.Name -notlike "Microsoft_Tests-SINGLESERVER_*.*.*.*.app"} | ForEach-Object { $_.FullName });
        }

        $appFiles | Select-Object -Unique;
@MODUSCarstenScholling
Copy link
Contributor Author

I know that the fix does not address all possible issues and that multiple lines still contain ....app. For now, it works for my apps here.

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

No branches or pull requests

2 participants