diff --git a/ci/tag-releases.sh b/ci/tag-releases.sh new file mode 100755 index 00000000000..faf552b47fb --- /dev/null +++ b/ci/tag-releases.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# +# Creates a new git tag for each package that has a new version. + +set -e + +source ci/detect-changed-manifests.sh + +changed_manifests=$(detect_changed_manifests) + +if [ -n "$changed_manifests" ]; then + for manifest_path in $changed_manifests; do + # Read the package name and version from its manifest. + package_name=$(grep '^name\s*=' "$manifest_path" | awk -F'\"' '{print $2}') + new_version=$(grep '^version\s*=' "$manifest_path" | awk -F'\"' '{print $2}') + + # Create a new git tag. + tag_name="${package_name}-v${new_version}" + git tag "$tag_name" + echo "Created tag: $tag_name" + done +else + echo "No versions changed." +fi \ No newline at end of file