Skip to content

Commit 130cb21

Browse files
committed
fix dependency version
1 parent 4fb98cc commit 130cb21

File tree

1 file changed

+29
-41
lines changed

1 file changed

+29
-41
lines changed

.github/workflows/release-source.yml

Lines changed: 29 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)