Skip to content

Commit 8c73508

Browse files
waleedlatif1claude
andcommitted
fix(helm): trim the release title before matching, and target the current release
Two defects found by checking the gate against the repo's actual release history rather than against an idealized title. Release PR titles are typed by hand, and v0.8.24's carried a stray leading space. An anchored match on the raw title reads that as "not a release" and waves the PR through — a silent skip is the one failure mode a gate like this cannot afford, so the title is trimmed before matching. appVersion targeted v0.8.25, but v0.8.26 has since released; the chart last published at 1.11.0/v0.8.24, so it was two releases behind, not one. Also drops the failure step-summary block. Every other gate in helm.yml reports through an ::error:: annotation alone, and the annotation now carries the same remediation, so the extra rendering was a second way of saying one thing. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017TknQyteeUDn6xi94sH71Y
1 parent acba7aa commit 8c73508

3 files changed

Lines changed: 22 additions & 32 deletions

File tree

.github/workflows/helm-release-appversion.yml

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,18 @@ jobs:
4949
run: |
5050
set -euo pipefail
5151
52+
# Trimmed before matching. Release PR titles are typed by hand and do
53+
# pick up a stray leading space (v0.8.24's did); an anchored match on
54+
# the raw title would read that as "not a release" and wave the PR
55+
# through -- a silent skip is the one failure mode this gate cannot
56+
# afford.
57+
title="${PR_TITLE#"${PR_TITLE%%[![:space:]]*}"}"
58+
5259
# Same shape detect-version (ci.yml) matches on the merge commit. A PR
5360
# to main that is not a release -- a hotfix, a revert, a docs fix --
5461
# cuts no tag, so there is nothing for appVersion to name.
55-
if ! [[ "$PR_TITLE" =~ ^(v[0-9]+\.[0-9]+\.[0-9]+): ]]; then
56-
echo "::notice::\"${PR_TITLE}\" is not a release title (vX.Y.Z: ...); nothing to check."
62+
if ! [[ "$title" =~ ^(v[0-9]+\.[0-9]+\.[0-9]+): ]]; then
63+
echo "::notice::\"${title}\" is not a release title (vX.Y.Z: ...); nothing to check."
5764
exit 0
5865
fi
5966
release="${BASH_REMATCH[1]}"
@@ -69,22 +76,5 @@ jobs:
6976
# Equality, not "not behind". An appVersion ahead of the release being
7077
# cut names an image tag that this merge will not create either, so
7178
# the chart would install into ImagePullBackOff.
72-
echo "::error::helm/sim/Chart.yaml appVersion is ${app_version}, but this PR cuts ${release}. The chart defaults its image tags to appVersion, and published chart versions are immutable, so a stale value freezes an old Sim into the chart for ${release} forever."
73-
{
74-
echo "### Chart appVersion does not match this release"
75-
echo
76-
echo "| | |"
77-
echo "| --- | --- |"
78-
echo "| Release being cut | \`${release}\` |"
79-
echo "| \`Chart.yaml\` appVersion | \`${app_version}\` |"
80-
echo "| \`Chart.yaml\` version | \`${chart_version}\` |"
81-
echo
82-
echo "Fix it on this PR's head branch:"
83-
echo
84-
echo '```bash'
85-
echo "# 1. appVersion: \"${release}\" and a SemVer bump to version: in helm/sim/Chart.yaml"
86-
echo "# 2. the image inventory embeds appVersion, so regenerate it"
87-
echo "bun run images:generate"
88-
echo '```'
89-
} >> "$GITHUB_STEP_SUMMARY"
79+
echo "::error::helm/sim/Chart.yaml appVersion is ${app_version}, but this PR cuts ${release}. Set appVersion to ${release}, bump version: (currently ${chart_version}) per SemVer, and run 'bun run images:generate' -- the image inventory embeds appVersion. The chart defaults its image tags to appVersion, and published chart versions are immutable, so a stale value freezes an old Sim into the chart for ${release} forever."
9080
exit 1

helm/sim/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: sim
33
description: A Helm chart for Sim - the open-source AI workspace where teams build, deploy, and manage AI agents
44
type: application
55
version: 1.11.2
6-
appVersion: "v0.8.25"
6+
appVersion: "v0.8.26"
77
kubeVersion: ">=1.25.0-0"
88
home: https://sim.ai
99
icon: https://raw.githubusercontent.com/simstudioai/sim/main/apps/sim/public/logo/primary/primary.svg

helm/sim/images.yaml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,22 @@
2222
# render it twice. That override also CHANGES where the chart pulls from, to
2323
# `<your-registry>/nvidia/k8s-device-plugin` — mirror the device plugin there
2424
# instead of to the `mirror` path listed below, or the pull fails.
25-
appVersion: v0.8.25
25+
appVersion: v0.8.26
2626
images:
2727
- source: busybox:1.36
2828
mirror: busybox:1.36
2929
- source: curlimages/curl:8.5.0
3030
mirror: curlimages/curl:8.5.0
31-
- source: ghcr.io/simstudioai/copilot:v0.8.25
32-
mirror: simstudioai/copilot:v0.8.25
33-
- source: ghcr.io/simstudioai/migrations:v0.8.25
34-
mirror: simstudioai/migrations:v0.8.25
35-
- source: ghcr.io/simstudioai/pii:v0.8.25
36-
mirror: simstudioai/pii:v0.8.25
37-
- source: ghcr.io/simstudioai/realtime:v0.8.25
38-
mirror: simstudioai/realtime:v0.8.25
39-
- source: ghcr.io/simstudioai/simstudio:v0.8.25
40-
mirror: simstudioai/simstudio:v0.8.25
31+
- source: ghcr.io/simstudioai/copilot:v0.8.26
32+
mirror: simstudioai/copilot:v0.8.26
33+
- source: ghcr.io/simstudioai/migrations:v0.8.26
34+
mirror: simstudioai/migrations:v0.8.26
35+
- source: ghcr.io/simstudioai/pii:v0.8.26
36+
mirror: simstudioai/pii:v0.8.26
37+
- source: ghcr.io/simstudioai/realtime:v0.8.26
38+
mirror: simstudioai/realtime:v0.8.26
39+
- source: ghcr.io/simstudioai/simstudio:v0.8.26
40+
mirror: simstudioai/simstudio:v0.8.26
4141
- source: nvcr.io/nvidia/k8s-device-plugin:v0.18.2
4242
mirror: nvcr.io/nvidia/k8s-device-plugin:v0.18.2
4343
- source: ollama/ollama:0.23.2

0 commit comments

Comments
 (0)