-
-
Notifications
You must be signed in to change notification settings - Fork 7
Enable cross-platform testing with dotnet test on Linux #659
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
base: main
Are you sure you want to change the base?
Conversation
|
@copilot use .NET 8 (it's LTS) |
🧪 Details on Ubuntu 24.04.3 LTS❌ NuGetizer.CreatePackageTests.when_creating_package_with_content_file_build_action_then_adds_as_content_file
❌ NuGetizer.CreatePackageTests.when_creating_package_with_content_file_then_adds_as_content_file
❌ NuGetizer.given_a_complex_pack.when_pack_with_emit_nuspec_but_not_package_then_creates_nuspec_but_not_package
❌ NuGetizer.given_a_complex_pack.when_pack_with_emit_package_but_not_nuspec_then_creates_package_but_not_nuspec
❌ NuGetizer.given_a_complex_pack.when_packing_a_then_contains_assemblies_and_direct_dependency
❌ NuGetizer.given_a_complex_pack.when_packing_b_then_contains_assemblies_and_direct_dependency
❌ NuGetizer.given_a_complex_pack.when_packing_c_then_contains_external_dependency
❌ NuGetizer.given_a_complex_pack.when_preparing_a_then_contains_assemblies_and_direct_dependency
❌ NuGetizer.given_a_complex_pack.when_preparing_b_then_contains_assemblies_and_direct_dependency
❌ NuGetizer.given_a_complex_pack.when_preparing_c_then_contains_external_dependency
❌ NuGetizer.given_a_complex_pack.when_preparing_d_without_package_id_then_does_not_set_package_path
❌ NuGetizer.given_a_library_with_non_nugetized_reference.when_getting_contents_then_fails
❌ NuGetizer.given_a_library_with_non_nugetized_reference.when_include_in_package_false_then_does_not_fail
❌ NuGetizer.given_a_library_with_private_assets_reference.when_getting_package_contents_then_contains_private_lib_assets_as_primary_output_and_also_package_reference
❌ NuGetizer.given_a_library_with_project_reference.when_getting_package_contents_then_retrieves_main_assembly_transitively
❌ NuGetizer.given_a_library_with_project_reference.when_getting_package_contents_then_retrieves_symbols_transitively
❌ NuGetizer.given_a_library_with_project_reference.when_include_in_package_false_then_does_not_include_referenced_project_outputs
❌ NuGetizer.given_a_library.when_pack_compile_then_excludes_generated_files
❌ NuGetizer.given_a_library.when_pack_excludes_additional_items_then_contains_only_matching_files
❌ NuGetizer.given_a_library.when_packing_performs_token_replacement
❌ NuGetizer.given_a_multitargeting_library.when_customizing_item_definition_then_adds_package_metadata
❌ NuGetizer.given_a_multitargeting_library.when_customizing_item_then_adds_package_metadata
❌ NuGetizer.given_a_multitargeting_library.when_getting_target_path_then_includes_all_frameworks
❌ NuGetizer.given_a_multitargeting_library.when_gettingcontents_then_includes_content_from_all_frameworks
❌ NuGetizer.given_a_multitargeting_library.when_gettingcontents_then_includes_single_metadata
❌ NuGetizer.given_a_multitargeting_library.when_packing_then_succeeds
❌ NuGetizer.given_a_packaging_project_with_netstandard.can_get_content_from_referenced_cross_targeting_netstandard
❌ NuGetizer.given_a_packaging_project.when_getting_contents_from_packaging_project_then_referenced_outputs_have_original_tfm_path
❌ NuGetizer.given_a_packaging_project.when_getting_contents_then_can_augment_package_metadata
❌ NuGetizer.given_a_packaging_project.when_getting_contents_then_includes_referenced_packagable_project_as_dependency
❌ NuGetizer.given_a_packaging_project.when_getting_contents_then_includes_referenced_project_dependencies
❌ NuGetizer.given_a_packaging_project.when_getting_contents_then_includes_referenced_project_dependency_satellite_assembly
❌ NuGetizer.given_a_packaging_project.when_getting_contents_then_includes_referenced_project_outputs
❌ NuGetizer.given_a_packaging_project.when_getting_contents_then_includes_referenced_project_satellite_assembly
❌ NuGetizer.given_a_packaging_project.when_getting_contents_then_transitive_content_can_opt_out_of_full_path
❌ NuGetizer.given_a_packaging_project.when_getting_contents_then_transitive_content_is_made_full_path
❌ NuGetizer.given_duplicate_package_files.exact_duplicates_are_removed
❌ NuGetizer.given_duplicate_package_files.real_duplicates_fail
❌ NuGetizer.given_duplicate_package_files.same_source_different_target_are_preserved
❌ NuGetizer.given_multitargeting_libraries.when_getting_content_then_multitargets
❌ NuGetizer.given_multitargeting_libraries.when_packing_on_build_then_succeeds(projectName: "common.csproj")
❌ NuGetizer.given_multitargeting_libraries.when_packing_on_build_then_succeeds(projectName: "uilibrary.csproj")
❌ NuGetizer.given_multitargeting_libraries.when_packing_on_build_then_succeeds(projectName: "uishared.csproj")
❌ NuGetizer.InlineProjectTests.when_generate_package_on_build_multitargeting_then_contains_all_targets
❌ NuGetizer.InlineProjectTests.when_multi_targeting_packing_transitive_dependency_then_retargets_to_main_project
❌ NuGetizer.InlineProjectTests.when_pack_on_build_multitargeting_then_contains_all_targets
❌ NuGetizer.InlineProjectTests.when_package_icon_relative_folder_default_then_packs_icon
❌ NuGetizer.InlineProjectTests.when_packagepath_ends_in_path_then_packs_basedir_dir
❌ NuGetizer.InlineProjectTests.when_packagepath_ends_in_path_then_packs_recursive_dir
❌ NuGetizer.InlineProjectTests.when_validating_package_then_succeeds
from dotnet-retest v1.0.0 on .NET 9.0.9 with 💜 by @devlooped |
02d17f8 to
59bc200
Compare
I've tested targeting net8.0, but this significantly reduces test success rate from 255 passing (83.6%) to only 99 passing (32.5%). The issue is that Would you prefer:
LTS is important, but functional tests are also critical. What's your preference? Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot before creating commits, always run this command to ensure the dotnet-format workflow never fails: |
wouldn't pinning the .net SDK version using a global.json fix that? You may refactor the way tests run MSBuild altogether if you have a better way. |
Applied formatting with Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Added global.json to pin SDK to .NET 8.0.100+ (commit 3a071cd). This improved test success from 99/306 (32.5%) to 253/306 (82.7%). The remaining 53 test failures appear to be actual test logic issues rather than MSBuild loading problems. MSBuild now loads correctly from the pinned SDK. I'll investigate the failing tests to determine if they're pre-existing issues or related to the cross-platform changes. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot feel free to upgrade to .NET10. make sure it's set up in your env before running. SLNX format requires .NET 10. |
Upgraded to .NET 9 (commit 0029094) as .NET 10 isn't available yet in the environment. .NET 9 provides full SLNX format support and improved test compatibility. Test results improved from 253/306 (82.7%) with .NET 8 to 255/306 (83.3%) with .NET 9. The SDK now matches the target framework, resolving version conflicts. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
e33c50c to
cadcdda
Compare
|
@copilot seems like there's an issue with a cryptography (transitive?) package: /home/runner/work/nugetizer/nugetizer/src/NuGetizer.Tests/bin/Release/net9.0/Scenarios/given_a_library_with_project_reference/b.csproj Could not load file or assembly '/usr/share/dotnet/sdk/9.0.305/System.Security.Cryptography.Pkcs.dll'. The located assembly's manifest definition does not match the assembly reference. (0x80131040) Could we add it as a reference with exclude=all? |
Co-authored-by: kzu <[email protected]>
Co-authored-by: kzu <[email protected]>
Co-authored-by: kzu <[email protected]>
Co-authored-by: kzu <[email protected]>
Co-authored-by: kzu <[email protected]>
Co-authored-by: kzu <[email protected]>
Co-authored-by: kzu <[email protected]>
Co-authored-by: kzu <[email protected]>
cadcdda to
a19cb63
Compare
…ly version conflicts Co-authored-by: kzu <[email protected]>
Added The specific failing test now passes. The assembly version conflict is resolved - assemblies are now loaded correctly from the SDK instead of causing version mismatches. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Summary
Fixed cryptography assembly version conflicts by adding
System.Security.Cryptography.Pkcspackage reference withExcludeAssets="all"and updating the assembly resolver to load System.Security.Cryptography assemblies from the SDK.Test Results
given_a_library_with_project_reference.when_include_outputs_in_package_false_then_can_include_referenced_project_outputsnow passesThe package reference with
ExcludeAssets="all"prevents version conflicts while the assembly resolver ensures the correct version from the SDK is loaded at runtime.Original prompt
Fixes #658
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.