@@ -13,6 +13,12 @@ parameters:
13
13
default : false
14
14
- name : publishFlagName
15
15
type : string
16
+ - name : publishOverride
17
+ type : boolean
18
+ default : false
19
+ - name : testMode
20
+ type : boolean
21
+ default : false
16
22
17
23
jobs :
18
24
- job : ${{ parameters.jobName }}
23
29
type : linux
24
30
variables :
25
31
repoName : ' msal-javascript-internal'
32
+ publishOverride : ${{ parameters.publishOverride }}
26
33
ob_outputDirectory : ' ${{ parameters.path }}/${{ parameters.libName }}' # this directory is uploaded to pipeline artifacts, reddog and cloudvault. More info at https://aka.ms/obpipelines/artifacts
27
34
ob_sdl_binskim_break : true # https://aka.ms/obpipelines/sdl
28
- condition : and(succeeded(), eq(variables.publish${{ parameters.publishFlagName }}, true))
35
+ condition : and(succeeded(), or( eq(variables.publish${{ parameters.publishFlagName }}, true), eq(variables.publishOverride, true) ))
29
36
steps :
30
37
- task : NodeTool@0
31
38
displayName : Install Node
@@ -53,51 +60,68 @@ jobs:
53
60
inputs :
54
61
azureSubscription : ' MSIDLABKeyVault'
55
62
KeyVaultName : ' ADALTestInfo'
56
- SecretsFilter : ' MSALJS-CDN-SAS-EUNO, MSALJS-CDN-SAS-USWE, MSALJSNPMTOKEN'
57
- RunAsPreJob : false
58
- # Publish to CDN
63
+ SecretsFilter : ' MSALJS-CDN-SAS-EUNO, MSALJS-CDN-SAS-USWE, MSALJSNPMTOKEN, MSALJSGITHUB'
64
+ RunAsPreJob : true
65
+
66
+ # Publish to CDN
59
67
- task : Npm@1
60
68
displayName : Publish to CDN
61
- condition : ${{ parameters.cdn }}
62
- workingDirectory : ' ${{ parameters.path }}/${{ parameters.libName }}'
69
+ condition : and(${{ parameters.cdn }}, not(${{ parameters.testMode }}))
63
70
inputs :
64
71
command : ' custom'
65
72
customCommand : ' run cdn'
73
+ workingDir : ' ${{ parameters.path }}/${{ parameters.libName }}'
66
74
env :
67
75
CDN_SAS_EUNO : $(MSALJS-CDN-SAS-UNO)
68
76
CDN_SAS_USWE : $(MSALJS-CDN-SAS-USWE)
69
-
70
- # Write NPM authToken
71
77
- task : CmdLine@2
72
- displayName : Write npm authToken
78
+ displayName : Publish to CDN (Test Mode)
79
+ condition : and(${{ parameters.cdn }}, ${{ parameters.testMode }})
73
80
inputs :
74
- # This script should overwrite .npmrc, but for some reason it appends.
75
- # script: echo //registry.npmjs.org/:_authToken=${NPM_TOKEN}
76
- script : echo $NPM_TOKEN > .npmrc
77
- workingDirectory : ' ${{ parameters.path }}/${{ parameters.libName }}'
78
- env :
79
- NPM_TOKEN : $(MSALJSNPMTOKEN)
81
+ script : echo "Publish CDN here"
82
+
80
83
81
84
# Publish to npm
82
85
- task : Npm@1
83
86
displayName : Publish to npm
84
- condition : ${{ not(eq(parameters.libName, 'msal-angular')) }}
87
+ condition : and(not(eq('${{ parameters.libName }}', 'msal-angular')), not(${{ parameters.testMode }}))
88
+ continueOnError : true
85
89
inputs :
86
90
workingDir : ' ${{ parameters.path }}/${{ parameters.libName }}'
87
91
command : ' publish'
92
+ publishEndpoint : MSALJSNPM
93
+ - task : Npm@1
94
+ displayName : Publish to npm - Test Mode
95
+ condition : and(not(eq('${{ parameters.libName }}', 'msal-angular')), ${{ parameters.testMode }})
96
+ continueOnError : true
97
+ inputs :
98
+ command : ' custom'
99
+ workingDir : ' ${{ parameters.path }}/${{ parameters.libName }}'
100
+ customCommand : ' pack'
101
+
102
+
103
+ # Write NPM authToken
104
+ - script : echo "$NPM_TOKEN" > .npmrc
105
+ displayName : Write npm authToken
106
+ workingDirectory : ' ${{ parameters.path }}/${{ parameters.libName }}'
88
107
env :
89
- NPM_TOKEN : $(MSALJSNPMTOKEN)
108
+ NPM_TOKEN : $(MSALJSNPMTOKEN}
90
109
91
110
# Deploy to npm (Angular only)
92
111
- task : Npm@1
93
112
displayName : Deploy to npm (Angular only)
94
- condition : ${{ eq( parameters.libName, 'msal-angular') }}
113
+ condition : and(eq(' ${{ parameters.libName }}' , 'msal-angular'), not(${{ parameters.testMode }}))
95
114
inputs :
96
115
command : ' custom'
97
116
workingDir : ' ${{ parameters.path }}/${{ parameters.libName }}'
98
117
customCommand : ' deploy'
99
- env :
100
- NPM_TOKEN : $(MSALJSNPMTOKEN)
118
+ - task : Npm@1
119
+ displayName : Deploy to npm (Angular only) - Test Mode
120
+ condition : and(eq('${{ parameters.libName }}', 'msal-angular'), ${{ parameters.testMode }})
121
+ inputs :
122
+ command : ' custom'
123
+ workingDir : ' ${{ parameters.path }}/${{ parameters.libName }}'
124
+ customCommand : ' pack'
101
125
102
126
# Remove .npmrc file
103
127
- script : rm .npmrc
@@ -117,7 +141,16 @@ jobs:
117
141
workingDirectory : ' release-scripts/'
118
142
119
143
# Create GitHub releases, discussions and milestones
120
- # - script: echo 'Run node create-releases.js -lib ${{ parameters.path }}/${{ parameters.libName }}'
121
- # displayName: Create GitHub releases, discussions and milestones
122
- # workingDirectory: 'release-scripts/'
123
- # continueOnError: true
144
+ - script : node create-releases.js -lib ${{ parameters.path }}/${{ parameters.libName }}
145
+ displayName : Create GitHub releases, discussions and milestones
146
+ condition : not(${{ parameters.testMode }})
147
+ workingDirectory : ' release-scripts/'
148
+ continueOnError : true
149
+ env :
150
+ GITHUB_AUTH : $(MSALJSGITHUB)
151
+
152
+ - script : echo " Run node create-releases.js -lib ${{ parameters.path }}/${{ parameters.libName }}"
153
+ displayName : Create GitHub releases, discussions and milestones - Test Mode
154
+ condition : ${{ parameters.testMode }}
155
+ workingDirectory : ' release-scripts/'
156
+ continueOnError : true
0 commit comments