mirror of
https://github.com/saymrwulf/anza-cryptography-source.git
synced 2026-09-04 20:24:04 +00:00
53 lines
1.4 KiB
Bash
53 lines
1.4 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
|
||
|
|
set -e
|
||
|
|
base="$(dirname "${BASH_SOURCE[0]}")"
|
||
|
|
# pacify shellcheck: cannot follow dynamic path
|
||
|
|
# shellcheck disable=SC1090,SC1091
|
||
|
|
source "$base/read-cargo-variable.sh"
|
||
|
|
cd "$base/.."
|
||
|
|
|
||
|
|
if [[ -z $1 ]]; then
|
||
|
|
echo 'A package manifest path — e.g. "curve25519/solana-ed25519" — must be provided.'
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
PACKAGE_PATH=$1
|
||
|
|
if [[ -z $2 ]]; then
|
||
|
|
echo 'A version level — e.g. "patch" — must be provided.'
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
LEVEL=$2
|
||
|
|
DEPENDENT_VERSION=$3
|
||
|
|
DRY_RUN=$4
|
||
|
|
|
||
|
|
# Go to the directory
|
||
|
|
cd "${PACKAGE_PATH}"
|
||
|
|
|
||
|
|
# Get the old version, used with git-cliff
|
||
|
|
old_version=$(readCargoVariable version "Cargo.toml")
|
||
|
|
package_name=$(readCargoVariable name "Cargo.toml")
|
||
|
|
tag_name="${package_name}"
|
||
|
|
|
||
|
|
# Publish the new version, commit the repo change, tag it, and push it all.
|
||
|
|
if [[ -n ${DRY_RUN} ]]; then
|
||
|
|
cargo release "${LEVEL}"
|
||
|
|
else
|
||
|
|
cargo release "${LEVEL}" --tag-name "${tag_name}@v{{version}}" --no-confirm --execute --dependent-version "${DEPENDENT_VERSION}"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Stop here if this is a dry run.
|
||
|
|
if [[ -n $DRY_RUN ]]; then
|
||
|
|
exit 0
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Get the new version.
|
||
|
|
new_version=$(readCargoVariable version "Cargo.toml")
|
||
|
|
new_git_tag="${tag_name}@v${new_version}"
|
||
|
|
old_git_tag="${tag_name}@v${old_version}"
|
||
|
|
|
||
|
|
# Expose the new version to CI if needed.
|
||
|
|
if [[ -n $CI ]]; then
|
||
|
|
echo "new_git_tag=${new_git_tag}" >> "$GITHUB_OUTPUT"
|
||
|
|
echo "old_git_tag=${old_git_tag}" >> "$GITHUB_OUTPUT"
|
||
|
|
fi
|