Skip to content

ci: read the Appwrite version from appVersion everywhere - #31

Merged
levivannoort merged 2 commits into
feat/appwrite-2.6.2from
ci/central-appwrite-version
Oct 29, 2026
Merged

levivannoort merged 2 commits into
feat/appwrite-2.6.2from
ci/central-appwrite-version

Conversation

@levivannoort

Copy link
Copy Markdown
Member

What

Stacked on #30. After that merges, this PR will target main.

Upgrading Appwrite meant editing version literals in the workflows by hand, and nothing caught a doc that still named the old version. After this PR, appVersion in Chart.yaml is the only place the pipelines get the version from:

  • Install workflow: a "Versions under test" step reads appVersion once, for the DNS-check image and the post-upgrade version check. The upgrade leg now upgrades from the newest published chart, found from the GitHub releases (the release workflow creates those only after the push to GHCR), so the pinned upgrade-from that every upgrade had to bump is gone. The resolved version appears as a run notice.
  • make check-versions (hack/check-versions.sh, part of make test and the Chart metadata job) fails when docs, examples, values, templates, the icon URL or workflows name an Appwrite version other than appVersion. Lines written as history ("2.4.0 and later", "2.4.0's") are allowed, as are CHANGELOG.md, the version notes and Chart.yaml's annotations.
    • Its first run found README.md saying CI upgrades "from Appwrite 2.2.0", a version the chart never shipped, plus the pinned versions in upgrading.md. Those lines no longer name a version.
  • Drift check: when the check itself fails, it opens an issue (or comments on the open one). The 2026-10-26 failure that hid 2.6.2 only showed in the Actions tab.
  • CONTRIBUTING's upgrade step 5 is now make check-versions, with no workflow edits.

Labelled skip-changelog: the only chart change is the wording of the placeholder-secret error from #30, and that error is new in the same release.

Testing

  • make test passes, including the new check. Running it under macOS's bash 3.2 also works.
  • Negative test: setting the icon URL back to 2.6.1 is reported as Chart.yaml:9.
  • make lint-actions passes (actionlint, shellcheck, zizmor).
  • The release lookup resolves to 2.1.0 locally, and helm show chart oci://ghcr.io/appwrite/charts/appwrite --version 2.1.0 finds it.
  • The upgrade leg on this PR runs the new lookup end to end.

- The install workflow reads appVersion once ("Versions under test") for
  the DNS-check image and the post-upgrade version check, which hardcoded
  or re-parsed it.
- The upgrade test starts from the newest published chart, looked up from
  the releases (created only after the chart is in the registry), instead
  of a pinned upgrade-from that each Appwrite upgrade had to bump.
- hack/check-versions.sh (make check-versions, in make test and the Chart
  metadata job) fails when the docs, examples, values, templates, the icon
  URL or the workflows name an Appwrite version other than appVersion.
  "X.Y.Z and later" and "X.Y.Z's" are history; so are CHANGELOG.md, the
  version notes and Chart.yaml's annotations.
- It found README's "upgrade from Appwrite 2.2.0", which never shipped, and
  upgrading.md's pinned CI and downgrade-error versions; those now read
  without a version. The placeholder-secret error says "2.6.2 and later".
- The drift check opens (or comments on) an issue when it fails itself:
  its 2026-10-26 failure was only visible in the Actions tab.
- CONTRIBUTING's upgrade step 5 is make check-versions; no workflow edits.
@levivannoort levivannoort added the skip-changelog Changes users won't notice: no CHANGELOG.md entry needed label Oct 29, 2026
@levivannoort levivannoort self-assigned this Oct 29, 2026
@hansi-codes

hansi-codes Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

🟢 Tier S · Ready to merge

The pull request makes Chart.yaml’s appVersion the source for Appwrite version checks and install-test images, and adds a consistency check across chart files, docs, examples, and workflows. It also updates the upgrade-test release lookup and reports upstream-drift failures through GitHub issues.

Latest changes: The latest commit changes the upgrade-test lookup to exclude draft, prerelease, and current-commit releases before selecting the chart version to upgrade from.

Verdict New comments Fixed Still open
✅ Approved 0 1 0
📂 Walkthrough · 10
File Change
.github/workflows/lint.yaml Runs the Appwrite version consistency check in chart metadata CI.
.github/workflows/test-install.yaml Reads Appwrite’s version from the chart and selects a published upgrade source while excluding a release of the commit under test.
.github/workflows/upstream-drift.yaml Opens or updates an issue when the upstream drift workflow fails.
CONTRIBUTING.md Documents the version check and updates the Appwrite version-upgrade procedure.
Makefile Adds check-versions and includes it in make test.
README.md Removes the pinned Appwrite version from the upgrade-test description.
charts/appwrite/templates/_validate.tpl Clarifies the Appwrite version from which the placeholder-secret restriction applies.
docs/integrations.md Retains the historical version claim in the webhook-secret guidance.
docs/upgrading.md Removes pinned upgrade-test and example downgrade versions.
hack/check-versions.sh Checks tracked files for Appwrite version references that differ from appVersion.
✅ Fixed since the last review · 1
  • Avoid selecting the chart currently being released for the upgrade test · .github/workflows/test-install.yaml:95

Reviewed the commits since 3975629 · Details · Comment @hansi-codes review to re-run, or mention @hansi-codes with a question.

@hansi-codes hansi-codes Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Tier A · Looks good to merge. Summary

Comment thread .github/workflows/test-install.yaml Resolved
On a release push to main, the release workflow can publish the new chart
before this lookup runs, and the upgrade leg would then upgrade that chart
to itself. Releases target GITHUB_SHA, so skip the one whose tag points at
the checkout; between releases, the published chart of the current version
is still the one to upgrade from. From review on #31.

@hansi-codes hansi-codes Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Tier S · Looks good to merge. Summary

@levivannoort
levivannoort merged commit 7023e49 into feat/appwrite-2.6.2 Oct 29, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog Changes users won't notice: no CHANGELOG.md entry needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant