From 5e8919cc41d19fbe4c72753b285fbe5b1f878153 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Tue, 4 Aug 2026 11:38:39 +0200 Subject: [PATCH] push prereleases branches --- scripts/release.ts | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/scripts/release.ts b/scripts/release.ts index e5db996..5e40c6f 100644 --- a/scripts/release.ts +++ b/scripts/release.ts @@ -1,11 +1,15 @@ import { Buffer } from "node:buffer"; import path from "node:path"; import { exec } from "@actions/exec"; +import major from "semver/functions/major.js"; +import prerelease from "semver/functions/prerelease.js"; import pkgJson from "../package.json" with { type: "json" }; const tag = `v${pkgJson.version}`; -const releaseLine = `v${pkgJson.version.split(".")[0]}`; -const isPrerelease = pkgJson.version.includes("-"); +const prereleaseTag = prerelease(pkgJson.version)?.[0]; +const releaseLine = `v${major(pkgJson.version)}${ + prereleaseTag === undefined ? "" : `-${prereleaseTag}` +}`; const githubToken = process.env.GITHUB_TOKEN; if (!githubToken) { throw new Error("GITHUB_TOKEN is required"); @@ -26,16 +30,10 @@ await exec("git", ["commit", "-m", tag]); await exec("changeset", ["git-tag"]); -if (isPrerelease) { - await exec("git", ["push", "origin", `refs/tags/${tag}`], { +await exec( + "git", + ["push", "--force", "origin", `HEAD:refs/heads/${releaseLine}`], + { env: gitEnv, - }); -} else { - await exec( - "git", - ["push", "--force", "origin", `HEAD:refs/heads/${releaseLine}`], - { - env: gitEnv, - }, - ); -} + }, +);