9
9
const forEachPackage = require ( './monorepo/for-each-package' ) ;
10
10
const { applyPackageVersions, publishPackage} = require ( './npm-utils' ) ;
11
11
const updateTemplatePackage = require ( './update-template-package' ) ;
12
+ const { failIfTagExists} = require ( './release-utils' ) ;
12
13
const { execSync} = require ( 'child_process' ) ;
13
14
const fs = require ( 'fs' ) ;
14
15
const path = require ( 'path' ) ;
15
16
const { cat, echo, exit} = require ( 'shelljs' ) ;
16
17
const yargs = require ( 'yargs' ) ;
18
+ const newGithubReleaseUrl = require ( './new-github-release-url' ) ;
17
19
18
20
const REPO_ROOT = path . resolve ( __dirname , '../' ) ;
19
21
@@ -130,6 +132,15 @@ function releaseOOT(
130
132
return ;
131
133
}
132
134
135
+ const gitTag = `v${ newVersion } ` ;
136
+ failIfTagExists ( tag , 'release' ) ;
137
+
138
+ // Create git tag
139
+ execSync ( `git tag -a ${ gitTag } -m "Release ${ newVersion } "` , {
140
+ cwd : REPO_ROOT ,
141
+ stdio : [ process . stdin , process . stdout , process . stderr ] ,
142
+ } ) ;
143
+
133
144
const results = visionOSPackages
134
145
. map ( npmPackage => {
135
146
return path . join ( __dirname , '..' , allPackages [ npmPackage ] ) ;
@@ -153,6 +164,19 @@ function releaseOOT(
153
164
', ' ,
154
165
) } to npm with version: ${ newVersion } `,
155
166
) ;
167
+
168
+ const releaseURL = newGithubReleaseUrl ( {
169
+ tag : gitTag ,
170
+ title : `Release ${ newVersion } ` ,
171
+ repo : 'react-native-visionos' ,
172
+ user : 'callstack' ,
173
+ } ) ;
174
+
175
+ echo ( '\n\n' ) ;
176
+ echo ( '-------------------------------------------\n' ) ;
177
+ echo ( `Create a new release here: ${ releaseURL } \n` ) ;
178
+ echo ( '-------------------------------------------' ) ;
179
+
156
180
return exit ( 0 ) ;
157
181
}
158
182
}
0 commit comments