Skip to content

Commit 693a4d0

Browse files
committed
Add validation for Helm charts to prevent develop image from being published
Signed-off-by: Willem Pienaar <[email protected]>
1 parent 159d3bb commit 693a4d0

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

.github/workflows/release.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,10 @@ jobs:
111111
project_id: ${{ secrets.GCP_PROJECT_ID }}
112112
service_account_key: ${{ secrets.GCP_SA_KEY }}
113113
- run: gcloud auth configure-docker --quiet
114-
- name: Validate chart versions
114+
- name: Validate repository versions
115115
run: make lint-versions
116+
- name: Validate chart release versions
117+
run: ./infra/scripts/validate-helm-chart-docker-image.sh
116118
- name: Remove previous Helm
117119
run: sudo rm -rf $(which helm)
118120
- name: Install Helm
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/usr/bin/env bash
2+
3+
# Get project root
4+
PROJECT_ROOT_DIR=$(git rev-parse --show-toplevel)
5+
6+
# Should have no "develop" tags
7+
grep -R "tag: develop" "$PROJECT_ROOT_DIR"/infra/charts || true
8+
COUNT=$(grep -R "tag: develop" "$PROJECT_ROOT_DIR"/infra/charts | wc -l)
9+
10+
if [ "$COUNT" -gt 0 ]; then
11+
echo 'Found more than one instance of "develop" in an image tag. Please replace with correct release version.';
12+
exit 1
13+
else
14+
echo 'No "develop" tags found, continuing';
15+
fi
16+
17+
# Should have no "gcr" images
18+
grep -R "gcr.io" "$PROJECT_ROOT_DIR"/infra/charts || true
19+
COUNT=$(grep -R "gcr.io" "$PROJECT_ROOT_DIR"/infra/charts | wc -l)
20+
21+
if [ "$COUNT" -gt 0 ]; then
22+
echo 'Found more than one instance of "gcr.io" in charts. Please replace with https://hub.docker.com/r/feastdev feast image.';
23+
exit 1
24+
else
25+
echo 'No "gcr.io" instances found, continuing';
26+
fi
27+
28+
# Should have no "SNAPSHOT" versions
29+
grep -R "SNAPSHOT" "$PROJECT_ROOT_DIR"/infra/charts || true
30+
COUNT=$(grep -R "SNAPSHOT" "$PROJECT_ROOT_DIR"/infra/charts | wc -l)
31+
32+
if [ "$COUNT" -gt 0 ]; then
33+
echo 'Found more than one instance of "SNAPSHOT" in charts. Please ensure that no SNAPSHOT charts are published.';
34+
exit 1
35+
else
36+
echo 'No "SNAPSHOT" instances found, continuing';
37+
fi

0 commit comments

Comments
 (0)