From 58662c33a017f61a4386caa1b4156a4abc2995b2 Mon Sep 17 00:00:00 2001 From: David Julian Albers Date: Sat, 1 Aug 2026 17:23:12 +0200 Subject: [PATCH] fix: skip hk hooks in the release job `mise install` runs the postinstall hook, which runs `hk install --mise` and points core.hooksPath at hk. hk's hooks then fire on the commits and pushes changesets/action makes. pre-push cannot resolve the tag objects `changeset publish` pushes: it looks for a merge base against origin/main, and an annotated tag is not a commit, so it aborts with "object is no commit object" and takes the tag push down with it. That published 0.3.0/0.1.2 to npm but left the tags and GitHub releases uncreated. Re-running the job could not repair it either, since changesets/action only tags what `changeset publish` reports as newly published. Those two tags and releases were created by hand. Skipping pre-commit alongside it: re-running lint/check/test in the release job only repeats what CI already ran on the pull request. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/release.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a70dfef..f4579c1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,6 +14,15 @@ permissions: jobs: release: runs-on: ubuntu-latest + # `mise install` runs the postinstall hook, which runs `hk install --mise` and + # points core.hooksPath at hk — so hk's hooks fire on the commits and pushes + # changesets/action makes. That is wrong here in both directions: pre-push + # cannot resolve the tag objects `changeset publish` pushes (it looks for a + # merge base against origin/main and the tag is not a commit, which is what + # failed the release), and re-running lint/check/test in the release job only + # repeats what CI already ran on the pull request. + env: + HK_SKIP_HOOK: pre-commit,pre-push steps: - uses: actions/checkout@v7 - uses: jdx/mise-action@v4 # node from .node-version; pnpm via corepack (packageManager field)