feat(FR-2989): show image architecture in deployment revision views#7622
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has required the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
7457cb5 to
18b91ad
Compare
There was a problem hiding this comment.
Pull request overview
Adds image architecture suffix to deployment revision views so users can disambiguate image variants (e.g. x86_64 vs aarch64) sharing the same canonical name. The image identifier now renders as canonicalName@architecture, matching conventions used elsewhere (e.g. ImageNodeSimpleTag, getImageFullName).
Changes:
DeploymentRevisionDetail: fragment selectsarchitecture; Image row renderscanonicalName@architecturewith copy text aligned.DeploymentRevisionHistoryTab: query selectsarchitecture; default-hidden Image column renders the same full path.- Regenerated Relay artifacts for all queries/mutations that spread
DeploymentRevisionDetail_revision.
Reviewed changes
Copilot reviewed 2 out of 11 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| react/src/components/DeploymentRevisionDetail.tsx | Builds imageFullName from canonical name + architecture and renders it in the Image row. |
| react/src/components/DeploymentRevisionHistoryTab.tsx | Adds architecture to query and renders combined fullName in Image column. |
| react/src/generated/DeploymentRevisionDetail_revision.graphql.ts | Regenerated fragment type with architecture. |
| react/src/generated/DeploymentRevisionHistoryTabListQuery.graphql.ts | Regenerated query type with architecture. |
| react/src/generated/DeploymentRevisionHistoryTabActivateMutation.graphql.ts | Regenerated mutation artifact. |
| react/src/generated/DeploymentReplicasTabListQuery.graphql.ts | Regenerated query artifact. |
| react/src/generated/DeploymentListPageQuery.graphql.ts | Regenerated query artifact. |
| react/src/generated/DeploymentDetailPageQuery.graphql.ts | Regenerated query artifact. |
| react/src/generated/DeploymentAddRevisionModalAddMutation.graphql.ts | Regenerated mutation artifact. |
| react/src/generated/AdminDeploymentListPageQuery.graphql.ts | Regenerated query artifact. |
| react/src/generated/ProjectAdminDeploymentsPageQuery.graphql.ts | Regenerated query artifact. |
Files not reviewed (9)
- react/src/generated/AdminDeploymentListPageQuery.graphql.ts: Language not supported
- react/src/generated/DeploymentAddRevisionModalAddMutation.graphql.ts: Language not supported
- react/src/generated/DeploymentDetailPageQuery.graphql.ts: Language not supported
- react/src/generated/DeploymentListPageQuery.graphql.ts: Language not supported
- react/src/generated/DeploymentReplicasTabListQuery.graphql.ts: Language not supported
- react/src/generated/DeploymentRevisionDetail_revision.graphql.ts: Language not supported
- react/src/generated/DeploymentRevisionHistoryTabActivateMutation.graphql.ts: Language not supported
- react/src/generated/DeploymentRevisionHistoryTabListQuery.graphql.ts: Language not supported
- react/src/generated/ProjectAdminDeploymentsPageQuery.graphql.ts: Language not supported
676a1b4 to
20de2f7
Compare
18b91ad to
71bd372
Compare
Coverage Report for react-coverage (./react)
File Coverage
|
||||||||||||||||||||||||||||||||||||||||||||
Merge activity
|
…7622) Resolves #7621 (FR-2989) Stacked on #7618 ## Summary In the deployment revision views, the image identifier was rendered as only `canonicalName` (`registry/namespace:tag`), omitting the architecture suffix. When multiple architectures (e.g. `x86_64`, `aarch64`) coexist for the same canonical name, it was ambiguous which image variant a revision is pinned to. This PR renders the full image path `canonicalName@architecture` instead, matching the convention used elsewhere in the app (e.g. `ImageNodeSimpleTag`, `ServiceLauncherPageContent`). - `DeploymentRevisionDetail` (Current Revision card and Revision Detail Drawer): Image row shows `canonicalName@architecture`. - `DeploymentRevisionHistoryTab`: the (default-hidden) Image column renders the same full path. - Both queries/fragments add `architecture` to `imageV2.identity`. ## Test plan - [ ] On `http://10.122.10.107:8090`, open a deployment with a current revision: the Image row shows `registry/namespace:tag@architecture`. - [ ] Open the Revision History tab → click a row → the drawer's Image row shows the same full path. - [ ] Enable the (default-hidden) Image column in Revision History → values include the `@architecture` suffix. - [ ] `bash scripts/verify.sh` — Relay/Lint/Format pass; TypeScript phantom worktree errors only (no errors in touched files).
20de2f7 to
bdb95cd
Compare
71bd372 to
3c2c1be
Compare

Resolves #7621 (FR-2989)
Stacked on #7618
Summary
In the deployment revision views, the image identifier was rendered as only
canonicalName(registry/namespace:tag), omitting the architecture suffix. When multiple architectures (e.g.x86_64,aarch64) coexist for the same canonical name, it was ambiguous which image variant a revision is pinned to.This PR renders the full image path
canonicalName@architectureinstead, matching the convention used elsewhere in the app (e.g.ImageNodeSimpleTag,ServiceLauncherPageContent).DeploymentRevisionDetail(Current Revision card and Revision Detail Drawer): Image row showscanonicalName@architecture.DeploymentRevisionHistoryTab: the (default-hidden) Image column renders the same full path.architecturetoimageV2.identity.Test plan
http://10.122.10.107:8090, open a deployment with a current revision: the Image row showsregistry/namespace:tag@architecture.@architecturesuffix.bash scripts/verify.sh— Relay/Lint/Format pass; TypeScript phantom worktree errors only (no errors in touched files).