From 8139e00de9374b116649382871eb856b19d0643d Mon Sep 17 00:00:00 2001 From: ChanTsune <41658782+ChanTsune@users.noreply.github.com> Date: Sat, 22 Nov 2025 05:39:02 +0900 Subject: [PATCH] :wrench: strip README dependency patches via hook --- release.toml | 1 + scripts/strip-readme-patch.sh | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100755 scripts/strip-readme-patch.sh diff --git a/release.toml b/release.toml index fd7c073bd..b6290e74d 100644 --- a/release.toml +++ b/release.toml @@ -1,2 +1,3 @@ tag-name = "{{crate_name}}-{{version}}" pre-release-commit-message = ":bookmark: Bump {{crate_name}} version to {{version}}" +pre-release-hook = ["bash", "-lc", "cd $(git rev-parse --show-toplevel) && ./scripts/strip-readme-patch.sh {{version}}"] diff --git a/scripts/strip-readme-patch.sh b/scripts/strip-readme-patch.sh new file mode 100755 index 000000000..b3c20dcdd --- /dev/null +++ b/scripts/strip-readme-patch.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +set -euo pipefail + +if [[ $# -ne 1 ]]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +full_version="$1" +minor_version=$(echo "$full_version" | cut -d. -f-2) + +export STRIP_README_FULL_VERSION="$full_version" +export STRIP_README_MINOR_VERSION="$minor_version" + +repo_root=$(git rev-parse --show-toplevel 2>/dev/null || pwd) +cd "$repo_root" + +while IFS= read -r -d '' readme; do + perl -0pi -e ' + my $from = $ENV{STRIP_README_FULL_VERSION}; + my $to = $ENV{STRIP_README_MINOR_VERSION}; + die "STRIP_README_FULL_VERSION not set" unless defined $from; + die "STRIP_README_MINOR_VERSION not set" unless defined $to; + s/(= ?")\Q$from\E(")/$1$to$2/g; + ' "$readme" +done < <(find . -name README.md -print0)