ci: add latest-image regression guard#11
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request introduces documentation, design specifications, and implementation plans for a new weekly "Latest-Image CI Guard" workflow. However, the actual GitHub Actions workflow files described in the plans are missing from the changes. Additionally, several local, temporary, and IDE-specific files and directories (".claude/", ".debug/", and ".idea/") were accidentally committed and should be removed from the repository.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| @@ -0,0 +1,48 @@ | |||
| { | |||
There was a problem hiding this comment.
This file contains local tool permissions for Claude Code, including absolute paths specific to a local user's machine (/Users/frank/...). Committing this file is a repository hygiene issue and can leak local path structures. Please remove this file from the repository and add .claude/ to your .gitignore.
There was a problem hiding this comment.
Fixed in a3acb30. .claude/, .debug/, and .idea/ were untracked local files accidentally staged by a git add -A; they are now removed from the index (kept on disk) and .claude/settings.local.json, .debug/, .idea/ are gitignored.
| @@ -0,0 +1 @@ | |||
| raw: Custom plugin 'myplugin' has no port specified. | |||
There was a problem hiding this comment.
The .debug/ directory contains generated Helm templates, including this statefulset.yaml which contains an error message (raw: Custom plugin 'myplugin' has no port specified.). This directory appears to be a temporary output directory from local testing/debugging and should not be committed to the repository. Please delete the .debug/ directory and add it to .gitignore.
There was a problem hiding this comment.
Fixed in a3acb30 — .debug/ is now untracked and gitignored.
| @@ -0,0 +1,10 @@ | |||
| # Default ignored files | |||
There was a problem hiding this comment.
Fixed in a3acb30 — .idea/ is now untracked and gitignored.
| `.github/workflows/latest-image.yml` runs the full kind HA integration suite | ||
| against the rolling `arcadedata/arcadedb:latest` image every Monday (and on | ||
| manual `workflow_dispatch`). It is a **blocking** pre-release guard: a red run | ||
| means the upcoming ArcadeDB release breaks the chart. It shares its steps with | ||
| the PR integration job via `.github/workflows/integration-reusable.yml`, so both | ||
| exercise an identical suite differing only by image tag. |
There was a problem hiding this comment.
The actual GitHub Actions workflow files described here (.github/workflows/latest-image.yml and .github/workflows/integration-reusable.yml), as well as the refactoring of .github/workflows/lint.yml, are missing from this pull request. It appears they were not added or committed to the branch. Please ensure these workflow files are committed and included in the PR.
There was a problem hiding this comment.
The workflow files are present in this PR, not missing:
.github/workflows/integration-reusable.yml(new, +74) — the reusableworkflow_calljob.github/workflows/latest-image.yml(new, +18) — the scheduled guard.github/workflows/lint.yml(modified, −47) —integrationjob refactored touses: ./.github/workflows/integration-reusable.yml
git diff main...HEAD --stat lists all three. The earlier diff was likely cluttered by the accidentally-committed .claude//.debug//.idea/ files, which have since been removed in a3acb30; the diff is now clean.
Accidentally committed via 'git add -A'; restore them to untracked and gitignore .claude/settings.local.json, .debug/, .idea/. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary
integration-reusable.yml) parameterized byimageTag+pullPolicy, so the PR suite and the new guard run byte-identical steps differing only by image tag.lint.yml'sintegrationjob to call the reusable workflow with defaults — behavior unchanged (stillarcadedata/arcadedb:26.6.1,IfNotPresent).latest-image.yml: a blocking weekly (Mon 06:00 UTC) +workflow_dispatchguard that runs the full integration suite against the rollingarcadedata/arcadedb:latestimage (pullPolicy: Always). A red run signals the upcoming ArcadeDB release breaks the chart, before it ships.README.md.Spec & plan:
docs/superpowers/specs/2026-06-16-latest-image-ci-guard-design.md,docs/superpowers/plans/2026-06-16-latest-image-ci-guard.md.Test Plan
helm lintclean;helm-unittest134/134 passactionlintclean on all three workflowshelm templateconfirms default render =arcadedata/arcadedb:26.6.1/IfNotPresent(unchanged) and override =arcadedata/arcadedb:latest/Alwaysgh workflow run "CI - Latest Image Guard") and confirm it runs the integration suite againstlatest🤖 Generated with Claude Code