Repository navigation
chore: update-images script; orchestrator 2.2.3, Redis 7.4.11, ClickHouse 26.4.5 - #17
Conversation
🔵 Tier A · Mergeable after minor fixes
Adds
Note Not approving while a bug finding is open: Propagate failures from the values query
Fix with agent prompt### Issue 1
hack/update-images.sh:109-110
**Propagate failures from the values query**
The `yq` command runs in process substitution, so its exit status is not covered by `set -e` or the `while` loop's status. If `yq` is missing or `values.yaml` cannot be parsed, the helper can print an error and still exit successfully, making a failed update look like a successful no-op.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.📂 Walkthrough · 7
Reviewed |
…ouse 26.4.5 hack/update-images.sh (make update-images) bumps the pinned image tags in values.yaml to the newest tag of the same shape in each registry, and syncs artifacthub.io/images. The built-in datastores keep their major version and ClickHouse its year.month release; the images Renovate groups with Appwrite follow Appwrite's docker-compose.yml and are only bumped with --all. Bumps, all checked against Appwrite 2.3.0's docker-compose.yml: - open-runtimes orchestrator jobs-service and job-sidecar 2.2.3: a fix to the Kubernetes backend the chart uses for builds (the post sidecar can read owner-only worker output). Compose stays on 2.2.2 because it runs the Docker backend. - redis 7.4.11-alpine and clickhouse-server 26.4.5-alpine: patch releases of the versions Appwrite pins.
The orchestrator passes job-sidecar to every build Job through JOB_SIDECAR_IMAGE; the builds suite only asserted the jobs-service image, so a wrong sidecar pin left the tests green.
8f3324b to
9cadabd
Compare
| done < <(yq -r '.. | select(tag == "!!map" and has("registry") and has("repository") and .tag != "") | ||
| | [(path | map(tostring) | join(".")), .registry, .repository, .tag] | @tsv' "$VALUES") |
There was a problem hiding this comment.
Propagate failures from the values query
The yq command runs in process substitution, so its exit status is not covered by set -e or the while loop's status. If yq is missing or values.yaml cannot be parsed, the helper can print an error and still exit successfully, making a failed update look like a successful no-op.
Prompt To Fix With AI
This is a comment left during a code review.
Path: hack/update-images.sh
Line: 109-110
Comment:
**Propagate failures from the values query**
The `yq` command runs in process substitution, so its exit status is not covered by `set -e` or the `while` loop's status. If `yq` is missing or `values.yaml` cannot be parsed, the helper can print an error and still exit successfully, making a failed update look like a successful no-op.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.🟡 Minor · error-handling · Reply if this doesn't apply.
What
make update-images(hack/update-images.sh) bumps the pinned image tags invalues.yamlto the newest tag in each registry (Docker Hub, GHCR, Quay; anonymous), then syncsartifacthub.io/images. A local stand-in until Renovate is enabled.7.4.7-alpine→7.4.x-alpine,1.1.159-self-hosted,v0.20.1), solatest,7,7.4and-rctags are never picked.renovate.json); ClickHouse keeps its year.month release (26.4.x), since 26.4 → 26.9 is five feature releases.renovate.jsongroups with Appwrite (console, executor, orchestrator, geo, browser, assistant, embedding, autogravity, appwrite/postgres) should match Appwrite'sdocker-compose.ymlforappVersion, not the newest tag: they're skipped unless--all.--dry-runlists without changing anything. Edits only thetag:lines:yq -iwould drop every blank line invalues.yaml.Bumps, each checked against Appwrite 2.3.0's
docker-compose.yml, which matches every other pin in the chart:Not bumped, from
--dry-run --all: executor 1.1.2 (only on Appwritemain; 2.4.0 still ships 0.29.0), console 1.2.x (2.4.0's), appwrite/postgres 0.2.0 (no Appwrite release uses it), geo/browser/embedding (go with the 2.4.0 upgrade).skip-changelog: nothing has been published yet. #16 is merged but 1.0.0 isn't published (the repository is still private), and the release publishesmainas it is when it runs. Merge this before the release runs and 1.0.0 ships with these versions. If 1.0.0 is published first, this needs an[Unreleased]entry instead.Testing
make testpasses locally (236/236 unit tests, kubeconform on every scenario, generated files up to date);shellcheckclean.hack/update-images.shrun in a scratch worktree: onlytag:lines change,hack/chart-images.sh --checkpasses, a second run finds nothing to update.Checklist
make testpasses locallymake generatewas run and the generated files are committedbuilds_test.yamlasserts the orchestrator image)docs/and files inexamples/updated for changes to how the chart is configured (no configuration changes;hack/fixtures/external-dbs.yamlfollows the new Redis and ClickHouse versions)skip-changelog: unreleased