Skip to content

Commit 7c41c72

Browse files
committed
Fix NPM dist tags and make some NPM private (#15416)
1 parent 2b4b221 commit 7c41c72

File tree

39 files changed

+220
-363
lines changed

39 files changed

+220
-363
lines changed

.ado/publish.yml

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -211,53 +211,6 @@ extends:
211211
- script: dir /s "$(Pipeline.Workspace)\published-packages"
212212
displayName: Show created npm packages
213213

214-
# Beachball usually takes care about the NPM package tagging based on the values in package.json files.
215-
# We use the ESRP Release where we must provide the tag explictly (the productstate parameter).
216-
# Fortunately, we just use two tags: latest and some custom tag like "canary", "v0.73-stable", etc.
217-
# The npmGroupByTag.js script groups the created NPM package by these two tags into the specified folders.
218-
- pwsh: |
219-
node .ado/scripts/npmGroupByTag.js "$(Pipeline.Workspace)\published-packages" "$(Pipeline.Workspace)\published-packages\custom-tag" "$(Pipeline.Workspace)\published-packages\latest-tag"
220-
displayName: Group npm packages by tag
221-
222-
- script: dir /s "$(Pipeline.Workspace)\published-packages"
223-
displayName: Show grouped npm packages by tag
224-
225-
# Publish NPM packages using ESRP Release task with the custom tag such as "canary", "v0.73-stable", etc.
226-
- task: 'SFP.release-tasks.custom-build-release-task.EsrpRelease@10'
227-
displayName: 'ESRP Release to npmjs.com (custom tag)'
228-
condition: and(succeeded(), ${{ not(parameters.skipNpmPublish) }}, eq(variables['NpmCustomFolderHasContent'], 'true'))
229-
inputs:
230-
connectedservicename: 'ESRP-CodeSigning-OGX-JSHost-RNW'
231-
usemanagedidentity: false
232-
keyvaultname: 'OGX-JSHost-KV'
233-
authcertname: 'OGX-JSHost-Auth4'
234-
signcertname: 'OGX-JSHost-Sign3'
235-
clientid: '0a35e01f-eadf-420a-a2bf-def002ba898d'
236-
domaintenantid: 'cdc5aeea-15c5-4db6-b079-fcadd2505dc2'
237-
contenttype: npm
238-
folderlocation: '$(NpmCustomFolder)'
239-
productstate: '$(NpmCustomTag)'
240-
241-
approvers: '[email protected]'
242-
243-
# Publish NPM packages using ESRP Release task with the "latest" tag.
244-
- task: 'SFP.release-tasks.custom-build-release-task.EsrpRelease@10'
245-
displayName: 'ESRP Release to npmjs.com (latest)'
246-
condition: and(succeeded(), ${{ not(parameters.skipNpmPublish) }}, eq(variables['NpmLatestFolderHasContent'], 'true'))
247-
inputs:
248-
connectedservicename: 'ESRP-CodeSigning-OGX-JSHost-RNW'
249-
usemanagedidentity: false
250-
keyvaultname: 'OGX-JSHost-KV'
251-
authcertname: 'OGX-JSHost-Auth4'
252-
signcertname: 'OGX-JSHost-Sign3'
253-
clientid: '0a35e01f-eadf-420a-a2bf-def002ba898d'
254-
domaintenantid: 'cdc5aeea-15c5-4db6-b079-fcadd2505dc2'
255-
contenttype: npm
256-
folderlocation: '$(NpmLatestFolder)'
257-
productstate: 'latest'
258-
259-
approvers: '[email protected]'
260-
261214
# Beachball reverts to local state after publish, but we want the updates it added
262215
- script: git pull origin $(SourceBranchWithFolders)
263216
displayName: git pull

.ado/release.yml

Lines changed: 52 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,51 @@ extends:
2626
customBuildTags:
2727
- ES365AIMigrationTooling-Release
2828
stages:
29-
- stage: PushToPrivateAdoStage
30-
displayName: ADO - react-native
29+
- stage: Release
30+
displayName: Publish artifacts
3131
jobs:
32-
- job: PushPackages
33-
displayName: Push packages
34-
condition: succeeded()
32+
- job: PushNpm
33+
displayName: npmjs.com - Publish npm packages
34+
variables:
35+
- group: RNW Secrets
36+
timeoutInMinutes: 0
37+
templateContext:
38+
inputs:
39+
- input: pipelineArtifact
40+
pipeline: 'Publish'
41+
artifactName: 'NpmPackedTarballs'
42+
targetPath: '$(Pipeline.Workspace)/published-packages'
43+
- input: pipelineArtifact
44+
pipeline: 'Publish'
45+
artifactName: 'VersionEnvVars'
46+
targetPath: '$(Pipeline.Workspace)/VersionEnvVars'
47+
steps:
48+
- checkout: none
49+
- task: CmdLine@2
50+
displayName: Apply version variables
51+
inputs:
52+
script: node $(Pipeline.Workspace)/VersionEnvVars/versionEnvVars.js
53+
- script: dir /s "$(Pipeline.Workspace)\published-packages"
54+
displayName: Show npm packages
55+
- task: 'SFP.release-tasks.custom-build-release-task.EsrpRelease@10'
56+
displayName: 'ESRP Release to npmjs.com'
57+
condition: and(succeeded(), ne(variables['NpmDistTag'], ''))
58+
inputs:
59+
connectedservicename: 'ESRP-CodeSigning-OGX-JSHost-RNW'
60+
usemanagedidentity: false
61+
keyvaultname: 'OGX-JSHost-KV'
62+
authcertname: 'OGX-JSHost-Auth4'
63+
signcertname: 'OGX-JSHost-Sign3'
64+
clientid: '0a35e01f-eadf-420a-a2bf-def002ba898d'
65+
domaintenantid: 'cdc5aeea-15c5-4db6-b079-fcadd2505dc2'
66+
contenttype: npm
67+
folderlocation: '$(Pipeline.Workspace)\published-packages'
68+
productstate: '$(NpmDistTag)'
69+
70+
approvers: '[email protected]'
71+
72+
- job: PushPrivateAdo
73+
displayName: ADO - react-native
3574
timeoutInMinutes: 0
3675
templateContext:
3776
inputs:
@@ -52,12 +91,9 @@ extends:
5291
inputs:
5392
script: nuget.exe push *.nupkg -ApiKey AzureArtifacts -Source https://pkgs.dev.azure.com/ms/_packaging/react-native/nuget/v3/index.json -NonInteractive -Verbosity Detailed -SkipDuplicate -NoSymbols
5493
workingDirectory: $(Pipeline.Workspace)/ReactWindows-final-nuget
55-
- stage: PushToPublicAdoStage
56-
displayName: ADO - react-native-public
57-
jobs:
58-
- job: PushPackages
59-
displayName: Push packages
60-
condition: succeeded()
94+
95+
- job: PushPublicAdo
96+
displayName: ADO - react-native-public
6197
timeoutInMinutes: 0
6298
templateContext:
6399
inputs:
@@ -78,13 +114,11 @@ extends:
78114
inputs:
79115
script: nuget.exe push *.nupkg -ApiKey AzureArtifacts -Source https://pkgs.dev.azure.com/ms/react-native/_packaging/react-native-public/nuget/v3/index.json -NonInteractive -Verbosity Detailed -SkipDuplicate -NoSymbols
80116
workingDirectory: $(Pipeline.Workspace)/ReactWindows-final-nuget
81-
- stage: PushToNuGetStage
82-
displayName: nuget.org - Push nuget packages
83-
variables:
84-
- group: RNW Secrets
85-
jobs:
86-
- job: PushPackages
87-
displayName: Push packages
117+
118+
- job: PushNuGetOrg
119+
displayName: nuget.org - Push nuget packages
120+
variables:
121+
- group: RNW Secrets
88122
timeoutInMinutes: 0
89123
templateContext:
90124
inputs:

.ado/scripts/npmGroupByTag.js

Lines changed: 0 additions & 229 deletions
This file was deleted.

0 commit comments

Comments
 (0)