From 9ee3aecc6cc2097669857c80ef85718f6a9ed856 Mon Sep 17 00:00:00 2001 From: Chris Thoburn <runspired@users.noreply.github.com> Date: Tue, 14 Jan 2025 18:27:15 -0800 Subject: [PATCH] fix: release script should find channel from branch too --- release/utils/channel.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/release/utils/channel.ts b/release/utils/channel.ts index 3beb53e383..f65f59b9b7 100644 --- a/release/utils/channel.ts +++ b/release/utils/channel.ts @@ -59,12 +59,20 @@ export type RELEASE_TYPE = 'major' | 'minor' | 'patch'; const RELEASE_BRANCH_REGEXP = /^release\-(\d+)\-(\d+)/; const LTS_BRANCH_REGEXP = /^lts\-(\d+)\-(\d+)/; +const TRAIN_BRANCH_REGEXP = /^v(\d+)\-(main|beta|release)/; export function channelForBranch(branch: string, currentVersion: SEMVER_VERSION, force: boolean): CHANNEL { if (branch === 'main') return 'canary'; if (branch === 'beta' || branch === 'release' || branch === 'lts') return branch; if (RELEASE_BRANCH_REGEXP.test(branch)) return 'release-prev'; if (LTS_BRANCH_REGEXP.test(branch)) return 'lts-prev'; + if (TRAIN_BRANCH_REGEXP.test(branch)) { + const [, _major, branchType] = branch.match(TRAIN_BRANCH_REGEXP) as [string, number, 'main' | 'beta' | 'release']; + if (branchType === 'main') return 'canary'; + if (branchType === 'beta') return 'beta'; + if (branchType === 'release') return 'release'; + throw new Error(`Unexpected branch type '${branchType}' found in '${branch}'`); + } if (force) { if (currentVersion.includes('beta')) {