99const forEachPackage = require ( './monorepo/for-each-package' ) ;
1010const { applyPackageVersions, publishPackage} = require ( './npm-utils' ) ;
1111const updateTemplatePackage = require ( './update-template-package' ) ;
12+ const { failIfTagExists} = require ( './release-utils' ) ;
1213const { execSync} = require ( 'child_process' ) ;
1314const fs = require ( 'fs' ) ;
1415const path = require ( 'path' ) ;
1516const { cat, echo, exit} = require ( 'shelljs' ) ;
1617const yargs = require ( 'yargs' ) ;
18+ const newGithubReleaseUrl = require ( './new-github-release-url' ) ;
1719
1820const REPO_ROOT = path . resolve ( __dirname , '../' ) ;
1921
@@ -130,6 +132,15 @@ function releaseOOT(
130132 return ;
131133 }
132134
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+
133144 const results = visionOSPackages
134145 . map ( npmPackage => {
135146 return path . join ( __dirname , '..' , allPackages [ npmPackage ] ) ;
@@ -153,6 +164,19 @@ function releaseOOT(
153164 ', ' ,
154165 ) } to npm with version: ${ newVersion } `,
155166 ) ;
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+
156180 return exit ( 0 ) ;
157181 }
158182}
0 commit comments