From 52b12204d4aeee0d462640be0833b84aec11e015 Mon Sep 17 00:00:00 2001 From: Skyler Lehmkuhl Date: Sun, 1 Mar 2026 04:33:29 -0500 Subject: [PATCH] make release script --- scripts/release.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 scripts/release.sh diff --git a/scripts/release.sh b/scripts/release.sh new file mode 100755 index 0000000..096c45c --- /dev/null +++ b/scripts/release.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +set -euo pipefail + +CARGO_TOML="$(dirname "$0")/../lightningbeam-ui/lightningbeam-editor/Cargo.toml" +CHANGELOG="$(dirname "$0")/../Changelog.md" + +# Read current version +current=$(grep '^version' "$CARGO_TOML" | head -1 | sed 's/.*"\(.*\)"/\1/') +echo "Current version: $current" + +# Extract numeric prefix (e.g. 1.0.1 from 1.0.1-alpha) +base=${current%%-*} +suffix=${current#"$base"} + +# Split into major.minor.patch +IFS='.' read -r major minor patch <<< "$base" + +# Bump patch +new_patch=$((patch + 1)) +new_version="${major}.${minor}.${new_patch}${suffix}" + +# Check if version was already bumped this session (uncommitted change to Cargo.toml) +if git -C "$(dirname "$CARGO_TOML")" diff --name-only HEAD -- "$(basename "$CARGO_TOML")" | grep -q .; then + echo "Cargo.toml already modified — skipping version bump (staying at $current)" + new_version="$current" +else + echo "Bumping to: $new_version" + sed -i "0,/^version = \"$current\"/s//version = \"$new_version\"/" "$CARGO_TOML" +fi + +# Edit changelog +vim "$CHANGELOG" + +# Commit and push +git add "$CARGO_TOML" "$CHANGELOG" +git commit -m "Release v${new_version}" +git push --force origin "$(git branch --show-current):release"