@@ -59,7 +59,6 @@ function getDateStamp(): string {
59
59
60
60
export function getVersionsToRelease ( issueBody : string ) : VersionsToRelease {
61
61
const versionsToRelease : VersionsToRelease = { } ;
62
- const dateStamp = getDateStamp ( ) ;
63
62
64
63
getMarkdownSection ( issueBody , TEXT . versionChangeHeader )
65
64
. split ( '\n' )
@@ -77,23 +76,12 @@ export function getVersionsToRelease(issueBody: string): VersionsToRelease {
77
76
versionsToRelease [ lang ] = {
78
77
current,
79
78
releaseType : releaseType as ReleaseType ,
80
- dateStamp,
81
79
} ;
82
80
} ) ;
83
81
84
82
return versionsToRelease ;
85
83
}
86
84
87
- export function getLangsToUpdateRepo ( issueBody : string ) : string [ ] {
88
- return getMarkdownSection ( issueBody , TEXT . versionChangeHeader )
89
- . split ( '\n' )
90
- . map ( ( line ) => {
91
- const result = line . match ( / - \[ \] ( .+ ) : v ( .+ ) - > ` ( .+ ) ` / ) ;
92
- return result ?. [ 1 ] ;
93
- } )
94
- . filter ( Boolean ) as string [ ] ;
95
- }
96
-
97
85
async function updateOpenApiTools (
98
86
versionsToRelease : VersionsToRelease
99
87
) : Promise < void > {
@@ -126,25 +114,21 @@ async function updateChangelog({
126
114
issueBody,
127
115
current,
128
116
next,
129
- dateStamp,
130
- willReleaseLibrary,
131
117
} : {
132
118
lang : string ;
133
119
issueBody : string ;
134
120
current : string ;
135
121
next : string ;
136
- dateStamp : string ;
137
- willReleaseLibrary : boolean ;
138
122
} ) : Promise < void > {
139
123
const changelogPath = toAbsolutePath (
140
124
`${ getLanguageFolder ( lang ) } /CHANGELOG.md`
141
125
) ;
142
126
const existingContent = ( await exists ( changelogPath ) )
143
127
? ( await fsp . readFile ( changelogPath ) ) . toString ( )
144
128
: '' ;
145
- const changelogHeader = willReleaseLibrary
146
- ? `## [v ${ next } ]( ${ getGitHubUrl ( lang ) } /compare/v ${ current } ...v ${ next } )`
147
- : `## ${ dateStamp } `;
129
+ const changelogHeader = `## [v ${ next } ]( ${ getGitHubUrl (
130
+ lang
131
+ ) } /compare/v ${ current } ...v ${ next } ) `;
148
132
const newChangelog = getMarkdownSection (
149
133
getMarkdownSection ( issueBody , TEXT . changelogHeader ) ,
150
134
`### ${ lang } `
@@ -175,20 +159,13 @@ async function processRelease(): Promise<void> {
175
159
}
176
160
177
161
const versionsToRelease = getVersionsToRelease ( issueBody ) ;
178
- const langsToUpdateRepo = getLangsToUpdateRepo ( issueBody ) ; // e.g. ['javascript', 'php']
179
162
180
163
await updateOpenApiTools ( versionsToRelease ) ;
181
164
182
- const langsToReleaseOrUpdate = [
183
- ...Object . keys ( versionsToRelease ) ,
184
- ...langsToUpdateRepo ,
185
- ] ;
186
-
187
- const willReleaseLibrary = ( lang : string ) : boolean =>
188
- Boolean ( versionsToRelease [ lang ] ) ;
165
+ const langsToRelease = Object . keys ( versionsToRelease ) ;
189
166
190
- for ( const lang of langsToReleaseOrUpdate ) {
191
- const { current, releaseType, dateStamp } = versionsToRelease [ lang ] ;
167
+ for ( const lang of langsToRelease ) {
168
+ const { current, releaseType } = versionsToRelease [ lang ] ;
192
169
/*
193
170
About bumping versions of JS clients:
194
171
@@ -215,14 +192,12 @@ async function processRelease(): Promise<void> {
215
192
issueBody,
216
193
current,
217
194
next : next ! ,
218
- dateStamp,
219
- willReleaseLibrary : willReleaseLibrary ( lang ) ,
220
195
} ) ;
221
196
}
222
197
223
198
// We push commits to each repository AFTER all the generations are done.
224
199
// Otherwise, we will end up having broken release.
225
- for ( const lang of langsToReleaseOrUpdate ) {
200
+ for ( const lang of langsToRelease ) {
226
201
const { tempGitDir } = await cloneRepository ( {
227
202
lang,
228
203
githubToken : process . env . GITHUB_TOKEN ,
@@ -235,33 +210,24 @@ async function processRelease(): Promise<void> {
235
210
await configureGitHubAuthor ( tempGitDir ) ;
236
211
await run ( `git add .` , { cwd : tempGitDir } ) ;
237
212
238
- const { current, dateStamp , releaseType } = versionsToRelease [ lang ] ;
213
+ const { current, releaseType } = versionsToRelease [ lang ] ;
239
214
const next = semver . inc ( current , releaseType ) ;
240
215
241
- if ( willReleaseLibrary ( lang ) ) {
242
- await gitCommit ( {
243
- message : `chore: release ${ next } ` ,
244
- cwd : tempGitDir ,
245
- } ) ;
246
- if ( process . env . VERSION_TAG_ON_RELEASE === 'true' ) {
247
- await execa ( 'git' , [ 'tag' , `v${ next } ` ] , { cwd : tempGitDir } ) ;
248
- await run ( `git push --tags` , { cwd : tempGitDir } ) ;
249
- }
250
- } else {
251
- await gitCommit ( {
252
- message : `chore: update repo ${ dateStamp } ` ,
253
- cwd : tempGitDir ,
254
- } ) ;
255
- }
256
- await run ( `git push` , { cwd : tempGitDir } ) ;
216
+ await gitCommit ( {
217
+ message : `chore: release ${ next } ` ,
218
+ cwd : tempGitDir ,
219
+ } ) ;
220
+ await execa ( 'git' , [ 'tag' , `v${ next } ` ] , { cwd : tempGitDir } ) ;
221
+ await run ( `git push --follow-tags` , { cwd : tempGitDir } ) ;
257
222
}
258
223
259
224
// Commit and push from the monorepo level.
260
225
await configureGitHubAuthor ( ) ;
261
226
await run ( `git add .` ) ;
262
- await execa ( 'git' , [ 'commit' , '-m' , `chore: release ${ getDateStamp ( ) } ` ] ) ;
227
+ const dateStamp = getDateStamp ( ) ;
228
+ await execa ( 'git' , [ 'commit' , '-m' , `chore: release ${ dateStamp } ` ] ) ;
263
229
await gitCommit ( {
264
- message : `chore: release ${ getDateStamp ( ) } ` ,
230
+ message : `chore: release ${ dateStamp } ` ,
265
231
} ) ;
266
232
await run ( `git push` ) ;
267
233
0 commit comments