Skip to content

fix(next): improve local artifact inspection performance - #1579

Merged
eoghanriley merged 3 commits into
mainfrom
eoghanriley/cli-306-performance
Sep 29, 2026
Merged

eoghanriley merged 3 commits into
mainfrom
eoghanriley/cli-306-performance

Conversation

@eoghanriley

@eoghanriley eoghanriley commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Description

This PR improves performance when inspecting local artifacts. Previously the inspect call path would walk artifacts like

package 1 manifest → archive walk
package 1 zarf.yaml → archive walk
package 2 manifest → archive walk
package 2 zarf.yaml → archive walk

with this PR that gets flattened to

all package manifests → one archive walk
all zarf.yaml blobs   → one archive walk

Related Issue

Fixes CLI-306

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Other (security config, docs update, etc)

Checklist before merging

@eoghanriley
eoghanriley requested a review from a team as a code owner September 25, 2026 14:38
@eoghanriley
eoghanriley added this pull request to stack #1580 September 25, 2026 14:38
@greptile-apps

greptile-apps Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

[Medium risk] Refactors artifact metadata reading for performance.

The PR appears safe to merge; no outstanding finding or new actionable regression was established.

Summary

The PR batches local archive reads for package manifests and zarf.yaml layers, while retaining package-ordered errors and adding coverage for missing and malformed metadata.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Bundle packages] --> B[Resolve manifest descriptors]
  B --> C[One archive walk for manifests]
  C --> D[Locate zarf.yaml descriptors]
  D --> E[One archive walk for zarf.yaml]
  E --> F[Return metadata or first package-ordered error]
Loading

Reviews (2) · Last reviewed commit: "cleanup error handling"

Comment thread internal/artifact/package_metadata.go Resolved
@eoghanriley
eoghanriley force-pushed the eoghanriley/cli-306-performance branch from a19ca2f to 101f009 Compare September 25, 2026 14:44
chance-coleman
chance-coleman previously approved these changes Sep 25, 2026

@chance-coleman chance-coleman 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.

nice! LGTM

bradclawsie
bradclawsie previously approved these changes Sep 25, 2026

@bradclawsie bradclawsie 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.

lgtm, and I explored it a bit with codex, which also found no issues

chance-coleman
chance-coleman previously approved these changes Sep 28, 2026
bradclawsie
bradclawsie previously approved these changes Sep 29, 2026

@bradclawsie bradclawsie 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.

still lgtm!

Base automatically changed from eoghanriley/cli-306 to main September 29, 2026 21:14
@eoghanriley
eoghanriley force-pushed the eoghanriley/cli-306-performance branch from 1173092 to ace115f Compare September 29, 2026 21:14
@eoghanriley
eoghanriley merged commit 8af3b5e into main Sep 29, 2026
30 checks passed
@eoghanriley
eoghanriley deleted the eoghanriley/cli-306-performance branch September 29, 2026 21:27
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