Skip to content

Update workload generation tasks#7288

Merged
joeloff merged 3 commits into
dotnet:mainfrom
joeloff:workload-tests
May 6, 2021
Merged

Update workload generation tasks#7288
joeloff merged 3 commits into
dotnet:mainfrom
joeloff:workload-tests

Conversation

@joeloff

@joeloff joeloff commented Apr 22, 2021

Copy link
Copy Markdown
Member

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

joeloff commented Apr 22, 2021

Copy link
Copy Markdown
Member Author

@joeloff

joeloff commented Apr 23, 2021

Copy link
Copy Markdown
Member Author

@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

chcosta commented Apr 23, 2021

Copy link
Copy Markdown
Member

@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

mmitche commented Apr 23, 2021

Copy link
Copy Markdown
Member

@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

joeloff commented Apr 27, 2021

Copy link
Copy Markdown
Member Author

@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

mmitche commented Apr 27, 2021

Copy link
Copy Markdown
Member

@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

joeloff commented May 5, 2021

Copy link
Copy Markdown
Member Author

@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