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

Update workload generation tasks #7288

Merged
merged 3 commits into from
May 6, 2021
Merged

Conversation

joeloff
Copy link
Member

@joeloff joeloff commented Apr 22, 2021

The following changes are included

  • Generate a stub EULA RTF file to comply with CELA guidelines
  • Generate component dependencies based off the set of available workload packs. Warnings are generated if packages are missing.
  • GenerateVisualStudioWorkload task can now generate the full set of files. Previously individual tasks had to be executed. This is mostly to accommodate unknown workflows from teams
    • It will convert nukpgs to MSIs
    • Generate SWIX packages for the MSIs
    • Generate SWIX package for the component referencing the MSI packages
  • Component attributes such as the version, title, description, category can be overridden and fall back to using the workload manifest values as defaults.
  • Component and package IDs can now be shortened to avoid long path issues with Visual Studio's manifest and package cache.
  • Add some unit tests

@joeloff joeloff requested a review from chcosta April 22, 2021 22:24
@joeloff
Copy link
Member Author

joeloff commented Apr 22, 2021

@joeloff
Copy link
Member Author

joeloff commented Apr 23, 2021

@chcosta, @mmitche What are the options to exclude 3.1 from the tests? The tasks depend on some packages that only supports 4.7.2 and 6.0 (which we cannot build in Arcade AFAIK).

@chcosta
Copy link
Member

chcosta commented Apr 23, 2021

@riarenas, do you have any insight on this?

The tasks depend on some packages that only supports 4.7.2 and 6.0 (which we cannot build in Arcade AFAIK).

@mmitche
Copy link
Member

mmitche commented Apr 23, 2021

@joeloff the signtool tests have this:

/* These tests return different results on netcoreapp. ie, we can only truly validate nuget integrity when running on framework.
 * NuGet behaves differently on core vs framework 
 * - https://github.com/NuGet/NuGet.Client/blob/e88a5a03a1b26099f8be225d3ee3a897b2edb1d0/build/common.targets#L18-L25
 */
#if NETFRAMEWORK
        [Fact]
        public void VerifyNupkgIntegrity()
        {
            var itemsToSign = new ITaskItem[]
            {
                new TaskItem(GetResourcePath("SignedPackage.1.0.0.nupkg")),
                new TaskItem(GetResourcePath("IncorrectlySignedPackage.1.0.0.nupkg"))
            };

            ValidateFileSignInfos(itemsToSign,
                                  new Dictionary<string, List<SignInfo>>(),
                                  new Dictionary<ExplicitCertificateKey, string>(),
                                  s_fileExtensionSignInfo,
                                  new[] { "File 'IncorrectlySignedPackage.1.0.0.nupkg' Certificate='NuGet'" });
        }

@joeloff
Copy link
Member Author

joeloff commented Apr 27, 2021

@mmitche the directive I assume only works for specific tests? In this case, the whole test project needs to be conditioned out? I was thinking of updating the SDK to have it just target 3.1 as well to unblock the tests

@mmitche
Copy link
Member

mmitche commented Apr 27, 2021

@mmitche the directive I assume only works for specific tests? In this case, the whole test project needs to be conditioned out? I was thinking of updating the SDK to have it just target 3.1 as well to unblock the tests

Yeah that seems like a good approach. Just eliminate the tfm you don't want from the project.

@joeloff
Copy link
Member Author

joeloff commented May 5, 2021

@chcosta if you get a chance to look this over.

@joeloff joeloff merged commit 791cbac into dotnet:main May 6, 2021
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.

3 participants