Conversation
…atest tag Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
Great work, Copilot team! 🎉 This PR follows the project's agentic development process perfectly — it's created by the core team's Copilot bot with a clear, detailed plan for investigating and addressing the container image versioning issue (#54158). The step-by-step approach (investigating upstream tags, documenting risks, refreshing digests, and running validation) demonstrates solid thinking. Since this is a draft with planned implementation steps, keep pushing forward with the plan as outlined. Looks ready to proceed!
|
There was a problem hiding this comment.
Pull request overview
Refreshes container digests used by compiled workflows and documents the rationale for Serena’s tag selection.
Changes:
- Updates Serena and
gh-aw-nodedigest caches. - Adds Serena pinning documentation.
- Regenerates all 286 workflow lock files.
Show a summary per file
| File | Description |
|---|---|
.github/aw/actions-lock.json |
Refreshes cached container digests. |
pkg/actionpins/data/action_pins.json |
Refreshes embedded action-pin data. |
pkg/workflow/data/action_pins.json |
Refreshes embedded workflow pin data. |
.github/workflows/shared/mcp/serena.md |
Documents Serena pinning rationale. |
.github/workflows/*.lock.yml (286 files) |
Regenerates workflows with refreshed immutable digests. |
Review details
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 119/290 changed files
- Comments generated: 2
- Review effort level: Balanced
| # oraios/serena publishes container images only under the `latest` tag on | ||
| # ghcr.io (no semver release tags exist upstream, and no GitHub releases are | ||
| # published: https://github.com/oraios/serena/releases). The compiler still | ||
| # pins this reference to an immutable digest at compile time (see | ||
| # .github/aw/actions-lock.json / pkg/actionpins), so `.lock.yml` output never | ||
| # floats — only the source `container:` tag stays `latest` because there is |
| # `gh aw compile --force-refresh-container-pins` (already run automatically | ||
| # by the daily container image security scan) to pick up the newest | ||
| # published digest and its CVE fixes. |
|
@copilot Please run
|
Static analysis flagged
ghcr.io/oraios/serena:latestfor carrying 50 Critical + 125 High CVEs, attributing this to a floating:latesttag in.github/workflows/shared/mcp/serena.mdthat could silently drift between compiles.Investigation
oraios/serenapublishes no semver release tags or GitHub releases upstream —ghcr.io/oraios/serenaonly ever shipslatest, with the underlying digest updated periodically.pkg/actionpins,.github/aw/actions-lock.json, ADR 27762), and the daily container security scan already runsgh aw compile --force-refresh-container-pinsto keep pins current — so there's no dangling drift, and no better tag to switch to.Changes
shared/mcp/serena.mdexplaining whylatestis used intentionally (no versioned upstream alternative) and pointing to the existing digest-pin + refresh mitigation, so this doesn't get re-flagged as an oversight.gh aw compile --force-refresh-container-pinsto updateghcr.io/oraios/serenaandghcr.io/github/gh-aw-nodeto their newest currently-published digests in.github/aw/actions-lock.json..lock.ymlfiles so compiled workflows reference the refreshed digests (digest-only diffs).