|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +set -e |
| 4 | + |
| 5 | +# This script is called by the reusable workflow after CHANGELOG.md has been updated. |
| 6 | +# The VERSION environment variable is set by the reusable workflow. |
| 7 | +# This script should only update version numbers in files other than CHANGELOG.md. |
| 8 | + |
| 9 | +# Get the script directory |
| 10 | +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
| 11 | + |
| 12 | +# Source logging helper |
| 13 | +source "$SCRIPT_DIR/lib/logging.sh" |
| 14 | + |
| 15 | +# Check if VERSION environment variable is set |
| 16 | +if [ -z "$VERSION" ]; then |
| 17 | + log_error "VERSION environment variable must be set" |
| 18 | + log_error "This script is intended to be called by the create-release-pr workflow" |
| 19 | + exit 1 |
| 20 | +fi |
| 21 | + |
| 22 | +log_info "Updating version to $VERSION in config and documentation files..." |
| 23 | + |
| 24 | +# Extract major version from VERSION (e.g., 7.0.0 -> 7) |
| 25 | +MAJOR_VERSION=$(echo "$VERSION" | cut -d. -f1) |
| 26 | + |
| 27 | +# Update go.mod module path to match major version |
| 28 | +log_info "Updating go.mod..." |
| 29 | +sed -E "s|(github.com/cockroachdb/cockroach-cloud-sdk-go)/v[0-9]+|\1/v${MAJOR_VERSION}|" go.mod > go.mod.tmp && mv go.mod.tmp go.mod |
| 30 | + |
| 31 | +# Update internal/spec/config.yaml |
| 32 | +log_info "Updating internal/spec/config.yaml..." |
| 33 | +sed "s/^packageVersion:.*/packageVersion: $VERSION/" internal/spec/config.yaml > internal/spec/config.yaml.tmp && mv internal/spec/config.yaml.tmp internal/spec/config.yaml |
| 34 | + |
| 35 | +# Update docs/README.md |
| 36 | +log_info "Updating docs/README.md..." |
| 37 | +sed "s/^- Package version:.*/- Package version: $VERSION/" docs/README.md > docs/README.md.tmp && mv docs/README.md.tmp docs/README.md |
| 38 | + |
| 39 | +# Copy docs/README.md to root (same as generated client does) |
| 40 | +log_info "Syncing root README.md from docs/README.md..." |
| 41 | +make sync-readme |
| 42 | + |
| 43 | +# Update pkg/client/configuration.go UserAgent |
| 44 | +log_info "Updating pkg/client/configuration.go..." |
| 45 | +sed "s/UserAgent: \"ccloud-sdk-go\/[^\"]*\"/UserAgent: \"ccloud-sdk-go\/$VERSION\"/" pkg/client/configuration.go > pkg/client/configuration.go.tmp && mv pkg/client/configuration.go.tmp pkg/client/configuration.go |
| 46 | + |
| 47 | +log_info "Version updated to $VERSION" |
| 48 | + |
| 49 | +# Validate the updated code |
| 50 | +log_info "Running validation..." |
| 51 | +make validate |
0 commit comments