44# This script is used in the release cleanup pipeline.
55set -eou pipefail
66
7+ add_changelog_files_to_delete () {
8+ pushd ../../changelog/version-diff
9+
10+ upcoming_version_item=" $1 "
11+ changelog_files=(./* )
12+
13+ for file in " ${changelog_files[@]} " ; do
14+ filename=$( basename " $file " )
15+ echo " CHANGELOG - upcoming_version_item: ${upcoming_version_item} "
16+ if [[ " ${filename} " == * " ${upcoming_version_item} " * ]]; then
17+ changelog_files_to_delete+=(" ${filename} " )
18+ fi
19+ done
20+
21+ popd
22+ }
23+
724pushd openapi/v2
825upcoming_api_versions=$( find . -maxdepth 1 -name ' openapi-*.upcoming.json' -exec basename {} \; | sed -e " s/^openapi-//" -e " s/\.json$//" )
926echo " upcoming_api_versions: ${upcoming_api_versions} "
@@ -18,6 +35,7 @@ if [ -z "${upcoming_api_versions}" ]; then
1835fi
1936
2037files_to_delete=()
38+ changelog_files_to_delete=()
2139# Populate upcoming_array line by line from the multi-line upcoming_api_versions string
2240while IFS= read -r line; do
2341 # Add to array only if line is not empty
@@ -31,22 +49,31 @@ for upcoming_version_item in "${upcoming_array[@]}"; do
3149 # Check if the exact upcoming_version_item string (e.g., "2023-01-01.upcoming"),
3250 # when quoted (e.g., "\"2023-01-01.upcoming\""), is NOT found in the api_versions string.
3351 # The condition is true if grep does not find the string (exit status 1).
34- echo " upcoming_version_item: $upcoming_version_item "
52+ echo " OPENAPI - upcoming_version_item: $upcoming_version_item "
3553 if ! echo " ${api_versions} " | grep -qF " \" ${upcoming_version_item} \" " ; then
3654 # If upcoming_version_item is NOT found in api_versions,
3755 # add its corresponding OpenAPI file name (e.g., openapi-2023-01-01.upcoming.json)
3856 # to the files_to_delete array.
3957 files_to_delete+=(" openapi-${upcoming_version_item} .json" )
4058 files_to_delete+=(" openapi-${upcoming_version_item} .yaml" )
59+ add_changelog_files_to_delete " ${upcoming_version_item} "
4160 fi
4261done
4362
4463# Display the files marked for deletion
4564if [ ${# files_to_delete[@]} -gt 0 ]; then
4665 echo " V2_OPEN_API_FILES_TO_DELETE=${files_to_delete[*]} " >> " ${GITHUB_OUTPUT:? } "
66+ echo " V2_CHANGELOG_FILES_TO_DELETE=${changelog_files_to_delete[*]} " >> " ${GITHUB_OUTPUT:? } "
67+
68+ echo " Files to delete:"
4769 for file_to_del in " ${files_to_delete[@]} " ; do
4870 echo " ${file_to_del} "
4971 done
72+
73+ echo " Changelog files to delete:"
74+ for api_to_del in " ${changelog_files_to_delete[@]} " ; do
75+ echo " ${api_to_del} "
76+ done
5077else
5178 echo " No files marked for deletion."
5279fi
0 commit comments