From efd890422db30a426bf395866ac3ec90573bbfd0 Mon Sep 17 00:00:00 2001 From: lauren Date: Mon, 21 Apr 2025 14:43:20 -0400 Subject: [PATCH 1/3] [compiler] Fix version name in publish script (#32979) Add ability to specify an optional tagVersion which is appended to the version name + tag, eg 19.1.0-rc.1 --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/32979). * __->__ #32979 * #32978 --- .github/workflows/compiler_prereleases.yml | 5 ++++- .github/workflows/compiler_prereleases_manual.yml | 4 ++++ compiler/scripts/release/publish.js | 11 ++++++++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compiler_prereleases.yml b/.github/workflows/compiler_prereleases.yml index 2bb2c6ef16863..fbdeab220c753 100644 --- a/.github/workflows/compiler_prereleases.yml +++ b/.github/workflows/compiler_prereleases.yml @@ -16,6 +16,9 @@ on: version_name: required: true type: string + tag_version: + required: false + type: number secrets: NPM_TOKEN: required: true @@ -55,4 +58,4 @@ jobs: - name: Publish packages to npm run: | cp ./scripts/release/ci-npmrc ~/.npmrc - scripts/release/publish.js --frfr --ci --versionName=${{ inputs.version_name }} --tag ${{ inputs.dist_tag }} + scripts/release/publish.js --frfr --ci --versionName=${{ inputs.version_name }} --tag=${{ inputs.dist_tag }} ${{ inputs.tag_version && format('--tagVersion={0}', inputs.tag_version) || '' }} diff --git a/.github/workflows/compiler_prereleases_manual.yml b/.github/workflows/compiler_prereleases_manual.yml index 4960489590a4f..a840065548744 100644 --- a/.github/workflows/compiler_prereleases_manual.yml +++ b/.github/workflows/compiler_prereleases_manual.yml @@ -14,6 +14,9 @@ on: version_name: required: true type: string + tag_version: + required: false + type: number permissions: {} @@ -29,5 +32,6 @@ jobs: release_channel: ${{ inputs.release_channel }} dist_tag: ${{ inputs.dist_tag }} version_name: ${{ inputs.version_name }} + tag_version: ${{ inputs.tag_version }} secrets: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/compiler/scripts/release/publish.js b/compiler/scripts/release/publish.js index 40f70ec31394f..713e23dceffcb 100755 --- a/compiler/scripts/release/publish.js +++ b/compiler/scripts/release/publish.js @@ -65,6 +65,12 @@ async function main() { choices: ['experimental', 'beta', 'rc'], default: 'experimental', }) + .option('tag-version', { + description: + 'Optional tag version to append to tag name, eg `1` becomes 0.0.0-rc.1', + type: 'number', + default: null, + }) .option('version-name', { description: 'Version name', type: 'string', @@ -133,7 +139,10 @@ async function main() { files: {exclude: ['.DS_Store']}, }); const truncatedHash = hash.slice(0, 7); - const newVersion = `${argv.versionName}-${argv.tag}-${truncatedHash}-${dateString}`; + const newVersion = + argv.tagVersion == null || argv.tagVersion === '' + ? `${argv.versionName}-${argv.tag}-${truncatedHash}-${dateString}` + : `${argv.versionName}-${argv.tag}.${argv.tagVersion}-${truncatedHash}-${dateString}`; for (const pkgName of pkgNames) { const pkgDir = path.resolve(__dirname, `../../packages/${pkgName}`); From 4c54da77fb57787ae85c521e04c861404a37eba2 Mon Sep 17 00:00:00 2001 From: lauren Date: Mon, 21 Apr 2025 14:56:51 -0400 Subject: [PATCH 2/3] [ci] Change to string type (#32980) to no one's surprise, the `number` type appears to be cursed in GH actions for workflow dispatch. switch to string --- .github/workflows/compiler_prereleases.yml | 2 +- .github/workflows/compiler_prereleases_manual.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compiler_prereleases.yml b/.github/workflows/compiler_prereleases.yml index fbdeab220c753..bd6d003a4ccba 100644 --- a/.github/workflows/compiler_prereleases.yml +++ b/.github/workflows/compiler_prereleases.yml @@ -18,7 +18,7 @@ on: type: string tag_version: required: false - type: number + type: string secrets: NPM_TOKEN: required: true diff --git a/.github/workflows/compiler_prereleases_manual.yml b/.github/workflows/compiler_prereleases_manual.yml index a840065548744..268b8f24f401d 100644 --- a/.github/workflows/compiler_prereleases_manual.yml +++ b/.github/workflows/compiler_prereleases_manual.yml @@ -16,7 +16,7 @@ on: type: string tag_version: required: false - type: number + type: string permissions: {} From 721350964952457e0b9286867c42135df0c5e787 Mon Sep 17 00:00:00 2001 From: lauren Date: Mon, 21 Apr 2025 15:10:51 -0400 Subject: [PATCH 3/3] [compiler] Only append hash and date for experimental releases (#32981) No need to append these for non experimental/beta releases. --- compiler/scripts/release/publish.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/compiler/scripts/release/publish.js b/compiler/scripts/release/publish.js index 713e23dceffcb..d367e331e309f 100755 --- a/compiler/scripts/release/publish.js +++ b/compiler/scripts/release/publish.js @@ -139,10 +139,13 @@ async function main() { files: {exclude: ['.DS_Store']}, }); const truncatedHash = hash.slice(0, 7); - const newVersion = + let newVersion = argv.tagVersion == null || argv.tagVersion === '' - ? `${argv.versionName}-${argv.tag}-${truncatedHash}-${dateString}` - : `${argv.versionName}-${argv.tag}.${argv.tagVersion}-${truncatedHash}-${dateString}`; + ? `${argv.versionName}-${argv.tag}` + : `${argv.versionName}-${argv.tag}.${argv.tagVersion}`; + if (argv.tag === 'experimental' || argv.tag === 'beta') { + newVersion = `${newVersion}-${truncatedHash}-${dateString}`; + } for (const pkgName of pkgNames) { const pkgDir = path.resolve(__dirname, `../../packages/${pkgName}`);