@@ -130,49 +130,37 @@ jobs:
130130 echo "Current directory: $(pwd)"
131131 ls_result="$(ls)"
132132 echo "List of directories in deploy/helm: $ls_result"
133-
134- # update chart version
135- for dir in $ls_result; do \
136- echo "Processing directory: $dir"; \
137- sed -i "s/^version.*/version: $RELEASE_VERSION/" "$dir"/Chart.yaml;\
138- sed -i "s/^appVersion.*/appVersion: \"$RELEASE_VERSION\"/" "$dir"/Chart.yaml;\
139- sed -i "/ - name: marvinjs/{n; s/ version.*/ version: $RELEASE_VERSION/}" "$dir"/Chart.yaml;\
140-
141- # Check for dependencies and update version if the dependency name matches a folder name
142- if grep -q "dependencies:" "$dir/Chart.yaml"; then \
143- echo "Dependencies found in $dir/Chart.yaml"; \
144- # Extract the correct dependency name (fixing multiline grep to handle proper yaml formatting)
145- dependency_name=$(awk '/dependencies:/ { getline; print $2 }' "$dir/Chart.yaml"); \
146- echo "Extracted dependency name: $dependency_name"; \
147- if [ -d "$dependency_name" ]; then \
148- echo "Folder $dependency_name exists"; \
149- if [ "$dependency_name" == "$dir" ]; then \
150- echo "Dependency name matches directory: $dir. Updating version..."; \
151- sed -i "/dependencies:/!b;n;s/version:.*/version: $RELEASE_VERSION/" "$dir/Chart.yaml"; \
152- else \
153- echo "Dependency name does not match directory: $dir. Skipping version update."; \
154- fi; \
155- else \
156- echo "Folder $dependency_name does not exist. Skipping version update."; \
157- fi; \
158- else \
159- echo "No dependencies found in $dir/Chart.yaml"; \
160- fi; \
133+
134+ # update the version and appVersion fields in all Chart.yml files
135+ for dir in $ls_result; do
136+ echo "Processing directory: $dir"
137+
138+ # Check if the Chart.yml file exists before running sed
139+ if [ -f "$dir/Chart.yml" ]; then
140+ # Update the version and appVersion fields in the Chart.yml
141+ sed -i "s/^version:.*/version: $RELEASE_VERSION/" "$dir/Chart.yml"
142+ sed -i "s/^appVersion:.*/appVersion: \"$RELEASE_VERSION\"/" "$dir/Chart.yml"
143+ else
144+ echo "Chart.yml file not found in $dir. Skipping."
145+ continue
146+ fi
161147 done
162-
163- # update subchart version
164- for folder in ./* ; do \
165- echo "Processing subcharts in $folder"; \
166- if [ -d "$folder/subcharts" ]; then \
167- echo "Subcharts directory found in $folder. Updating subchart version..."; \
168- sed -i "s/^version.*/version: $RELEASE_VERSION/" "$folder"/subcharts/*/Chart.yaml; \
169- sed -i "s/^appVersion.*/appVersion: \"$RELEASE_VERSION\"/" "$folder"/subcharts/*/ Chart.yaml; \
170- helm dep build "$folder"/subcharts/*; \
171- helm dep update "$folder"/subcharts/*; \
172- else \
173- echo "No subcharts directory found in $folder. Skipping subchart version update."; \
174- fi; \
148+
149+ # update the dependencies versions based on the charts available in deploy/helm
150+ for dir in $ls_result ; do
151+ echo "Processing dependencies in $dir"
152+
153+ if [ -f "$dir/Chart.yml" ]; then
154+ for dep_dir in $ls_result; do
155+ if grep -q "name: $dep_dir" "$dir/ Chart.yml"; then
156+ echo "Found dependency on $dep_dir in $dir. Updating version to $RELEASE_VERSION"
157+ sed -i "/name: $dep_dir/!b;n;s/version:.*/version: $RELEASE_VERSION/" "$dir/Chart.yml"
158+ fi
159+ done
160+ fi
175161 done
162+
163+ echo "Completed version updates."
176164
177165 git add .
178166 - name : update imageTag and repository_tag in values files
0 commit comments