#!/bin/bash

# 确保目前 git 处于 dev 分支，并且和远程同步是最新代码
git checkout dev
git pull origin dev

# 获取当前日期
date=$(date +%Y%m%d)

# 基于当前的 dev 分支切换到 release-{date} 分支
release_branch="release-$date"
git checkout -b $release_branch

# 生成 changelog
pnpm gen:changelog

# 升级 package.json 中的版本号
pnpm version minor --no-git-tag-version

# commit 所有改动，并且 push 到远程仓库的同名分支
git add .
git commit -m "release: $date"
git push origin $release_branch

# Create PR to master branch and capture the URL
master_pr_url=$(gh pr create --base master --head $release_branch --title "release: [master] $date" --body "release $date to master" --label e2e-test)

# Create PR to dev branch and capture the URL
dev_pr_url=$(gh pr create --base dev --head $release_branch --title "release: [dev] $date" --body "release $date to dev")

# Combine PR URLs
pr_urls="Release pull request are created, please take a look:\nTo master: $master_pr_url\nTo dev: $dev_pr_url"

# Copy PR URLs to clipboard (using xclip for Linux or pbcopy for macOS)
if command -v xclip &> /dev/null; then
    echo -e "$pr_urls" | xclip -selection clipboard
elif command -v pbcopy &> /dev/null; then
    echo -e "$pr_urls" | pbcopy
else
    echo "Unable to copy to clipboard. Please install xclip (Linux) or use macOS."
fi

echo "PR URLs have been copied to clipboard:"
echo -e "$pr_urls"
