microsoft / microsoft/react-native-windows

Improve publish pipeline and nuget packing

Open
#8,088 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area: Build Infrastructure enhancement Workstream: New Arch NuGet Refactor
Dominant language
C++
Stars
17.3k
Forks
1.2k
Avg merge
1d 13h
Merged PRs (30d)
33

Description

Our publish pipeline and nuget packing logic can use some irmpovements.

Agents for publish pipline

We often see:
This agent request is not running because you have reached the maximum number of requests that can run for parallelism type 'Microsoft-Hosted Private'. Current position in queue: 42
because the microsoft subscription has a limmited set of agents for this

Nuspec location

The nuspec files are in a single folder in vnext\scripts. It would be more manageable if these were next to the actual sources and part of the project file and part of the actual built bits so it is part of the Artifact..

Nuget publish logic

We currently have a flag to deploy shared layout files. This should be moved out to an individual step

Publish should be trigged by CI and use the binary outputs

Currently publish re builds all binaries. It would be nice of the CI could take care of that...
Complication is the beachball bump and beachball publish.... Ideall we separate out the git .patch, .tgz npm packages and upload those to artifacts and have publish push them.
For nuget we should unpack, sign contents and repack...

Deal better with noCI case.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the publish pipeline configuration and the NuGet specification files under vnext\scripts. Trace how binaries, npm packages, patch files, and shared layout files are currently built and published, then define completion around CI-produced artifacts, separate publish steps, NuGet repacking, and improved noCI handling.

Written by the indexing model from the issue text.

Assessment

Domain
build-system, ci-cd, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
18/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.