12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #!/bin/bash
- set -e
- # Step 1: Read the version from Cargo.toml
- version=$(grep '^version = ' Cargo.toml | head -n 1 | sed 's/version = "\(.*\)"/\1/')
- if [ -z "$version" ]; then
- echo "Version not found in Cargo.toml"
- exit 1
- fi
- echo "Aligning for version: $version"
- # GNU/BSD compat
- sedi=(-i'')
- case "$(uname)" in
- # For macOS, use two parameters
- Darwin*) sedi=(-i '')
- esac
- # Update the version for all crates in the Cargo.toml workspace.dependencies section
- sed "${sedi[@]}" "/\[workspace.dependencies\]/,/\## External crates/s/version = \"=.*\"/version = \"=$version\"/" Cargo.toml
- # Update the version in clients/bolt-sdk/package.json
- jq --arg version "$version" '.version = $version' clients/bolt-sdk/package.json > temp.json && mv temp.json clients/bolt-sdk/package.json
- # Update the version in cli/npm-package/package.json.tmpl
- jq --arg version "$version" '.version = $version' cli/npm-package/package.json.tmpl > temp.json && mv temp.json cli/npm-package/package.json.tmpl
- # Update the main package version and all optionalDependencies versions in cli/npm-package/package.json
- jq --arg version "$version" '(.version = $version) | (.optionalDependencies[] = $version)' cli/npm-package/package.json > temp.json && mv temp.json cli/npm-package/package.json
- # Potential for collisions in Cargo.lock, use cargo update to update it
- cargo update --workspace
- # Generate CHANGELOG.md
- git-cliff -c cliff.toml -o CHANGELOG.md -t $version
- # Check if the any changes have been made to the specified files, if running with --check
- if [[ "$1" == "--check" ]]; then
- files_to_check=(
- "clients/bolt-sdk/package.json"
- "cli/npm-package/package.json.tmpl"
- "cli/npm-package/package.json"
- "Cargo.toml"
- "CHANGELOG.toml"
- )
- for file in "${files_to_check[@]}"; do
- # Check if the file has changed from the previous commit
- if git diff --name-only | grep -q "$file"; then
- echo "Error: version not aligned for $file. Align the version, commit and try again."
- exit 1
- fi
- done
- exit 0
- fi
|