Skip to content

Update CLI version checker for Docker image digests - #48043

Merged
pelikhan merged 1 commit into
mainfrom
copilot/update-cli-version-checker
Jul 25, 2026
Merged

Update CLI version checker for Docker image digests#48043
pelikhan merged 1 commit into
mainfrom
copilot/update-cli-version-checker

Conversation

Copilot AI commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

The CLI version checker now tracks registry digest changes for Docker images used by compile-time static analysis, including changes where the image tag remains unchanged.

Changes

  • Resolve and compare every static-analysis image digest on each run.
  • Treat missing or changed digests as updates.
  • Pin all selected image tags to sha256 digests.
  • Apply release cooldowns only to version changes, not digest-only changes.
  • Report old and new digests in generated update issues.
  • Update evaluation criteria and recompile the workflow.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan July 25, 2026 16:39
@pelikhan
pelikhan marked this pull request as ready for review July 25, 2026 16:43
Copilot AI review requested due to automatic review settings July 25, 2026 16:43
@pelikhan
pelikhan merged commit 5ef1dec into main Jul 25, 2026
@pelikhan
pelikhan deleted the copilot/update-cli-version-checker branch July 25, 2026 16:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the CLI version checker to detect and report Docker image digest changes, including unchanged tags.

Changes:

  • Checks and pins digests for all static-analysis images.
  • Limits cooldowns to version changes.
  • Updates evaluations and generated workflow metadata.
Show a summary per file
File Description
.github/workflows/cli-version-checker.md Adds digest checking and reporting instructions.
.github/workflows/cli-version-checker.lock.yml Recompiles workflow metadata and evaluations.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comments suppressed due to low confidence (2)

.github/workflows/cli-version-checker.md:229

  • This exemption conflicts with step 2 immediately above, which says a young latest release causes the entire image to be skipped. That prevents the mandatory digest check of the currently pinned tag whenever a newer release is in cooldown. Skip only adoption of the young version and continue checking the current immutable tag; latest needs selection of an older stable release that passed cooldown.
This avoids picking up immature or quickly-retracted releases. Digest-only updates for an already-pinned version are not subject to the release cooldown.

.github/workflows/cli-version-checker.md:233

  • The mandatory every-image check cannot reliably obtain the registry digest with the examples below. Both registry API examples send literal Authorization: ****** instead of Bearer $TOKEN, causing authenticated manifest requests to fail, while the GHCR Docker path returns a config digest for single-arch images or the first child-platform digest for indexes—not the top-level manifest digest valid for the tag. Use the token in the header and consistently read Docker-Content-Digest for the requested tag (including OCI index media types).
For every Docker image, fetch the registry digest for the target tag. For a newer version, apply the 3-day cooldown first. Also fetch and compare the digest when the version is unchanged so mutable or republished tags are reflected in `docker_images.go`.
  • Files reviewed: 2/2 changed files
  • Comments generated: 2
  • Review effort level: Medium

question: Did the agent check for new versions and digest changes of Docker images in pkg/cli/docker_images.go (actionlint, syft, grype, grant, zizmor, poutine, runner-guard, yamllint)?
- id: updates_applied_or_noop
question: Were version updates applied and a PR created, or was noop used when all tools were already up to date?
question: Were version or digest updates applied and a PR created, or was noop used when all tools were already up to date?
1. Check cache-memory at `/tmp/gh-aw/cache-memory/` for previous version checks and help outputs
2. If cached versions exist and are recent (< 24h), verify if updates are needed before proceeding
3. If no version changes detected, exit early with success
3. If no CLI version, Docker image version, or Docker image digest changes are detected, exit early with success
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.83.4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants