53 lines
1.5 KiB
Bash
Executable File
53 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
if [ $# -eq 0 ]; then
|
|
echo "Usage $0 VERSION"
|
|
exit 1
|
|
fi
|
|
|
|
version=$1
|
|
|
|
echo "Bumping versions to $version"
|
|
|
|
# GNU/BSD compat
|
|
sedi=(-i)
|
|
case "$(uname)" in
|
|
# For macOS, use two parameters
|
|
Darwin*) sedi=(-i "")
|
|
esac
|
|
|
|
# Don't replace version with the following globs
|
|
skip_globs=":!**/yarn.lock :!Cargo.lock :!package.json :!tests/bench/bench.json :!bench/*.md"
|
|
|
|
git grep -l $(cat VERSION) -- $skip_globs |
|
|
xargs sed "${sedi[@]}" \
|
|
-e "s/$(cat VERSION)/$version/g"
|
|
|
|
# Potential for collisions in package.json files, handle those separately
|
|
# Replace only matching "version": "x.xx.x" and "@coral-xyz/anchor": "x.xx.x"
|
|
git grep -l $(cat VERSION) -- '**/package.json' | \
|
|
xargs sed "${sedi[@]}" \
|
|
-e "s/@coral-xyz\/anchor\": \"$(cat VERSION)\"/@coral-xyz\/anchor\": \"$version\"/g" \
|
|
-e "s/\"version\": \"$(cat VERSION)\"/\"version\": \"$version\"/g"
|
|
|
|
# Potential for collisions in Cargo.lock, use cargo update to update it
|
|
cargo update --workspace
|
|
|
|
# Insert version number into CHANGELOG.md
|
|
sed "${sedi[@]}" -e "s/## \[Unreleased\]/## [Unreleased]\n\n## [$version] - $(date '+%Y-%m-%d')/g" CHANGELOG.md
|
|
|
|
pushd ts && yarn && popd
|
|
pushd tests && yarn && popd
|
|
pushd examples && yarn && pushd tutorial && yarn && popd && popd
|
|
|
|
# Bump benchmark files
|
|
pushd tests/bench && anchor run bump-version -- --anchor-version $version && popd
|
|
|
|
echo $version > VERSION
|
|
|
|
echo "$(git diff --stat | tail -n1) files modified"
|
|
|
|
echo " $(cat VERSION) changeset generated, commit and tag"
|