From b196dd69867fa483400753877d940a4fddaf5c3b Mon Sep 17 00:00:00 2001 From: Edgars Date: Thu, 3 Sep 2026 09:40:05 +0100 Subject: [PATCH] fix(release): keep tag publish workflows active --- .release-it.cjs | 4 +++- tests/release-channel.test.mjs | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.release-it.cjs b/.release-it.cjs index a8f89560..535b67b6 100644 --- a/.release-it.cjs +++ b/.release-it.cjs @@ -20,7 +20,9 @@ module.exports = { git: { - commitMessage: "Release v${version} [skip ci]", + // Keep release commits CI-active: GitHub also suppresses tag-triggered + // workflows when the tagged commit contains a skip directive. + commitMessage: "Release v${version}", tagName: "v${version}", requireCleanWorkingDir: false, requireUpstream: false, diff --git a/tests/release-channel.test.mjs b/tests/release-channel.test.mjs index fe195232..7a0cc2af 100644 --- a/tests/release-channel.test.mjs +++ b/tests/release-channel.test.mjs @@ -1,6 +1,10 @@ +import {createRequire} from "node:module"; import {describe, expect, it} from "vitest"; import {resolveReleaseChannel} from "../scripts/resolve-release-channel.mjs"; +const require = createRequire(import.meta.url); +const releaseConfig = require("../.release-it.cjs"); + describe("release channel policy", () => { it("publishes stable releases to latest", () => { expect(resolveReleaseChannel("0.40.0", "0.40.0")).toEqual({ @@ -33,4 +37,12 @@ describe("release channel policy", () => { "Invalid prerelease npm dist-tag", ); }); + + it("keeps release commits eligible for tag-triggered publishing", () => { + expect(releaseConfig.git.commitMessage).toBe("Release v${version}"); + expect(releaseConfig.git.commitMessage).not.toMatch( + /\[(?:skip ci|ci skip|no ci|skip actions|actions skip)\]/i, + ); + expect(releaseConfig.git.commitMessage).not.toMatch(/skip-checks:\s*true/i); + }); });