Skip to content

build: use imagecustomizer container for MOS ISO build#653

Merged
bfjelds merged 2 commits into
mainfrom
user/bfjelds/mjolnir/mic-container-mos-iso
May 27, 2026
Merged

build: use imagecustomizer container for MOS ISO build#653
bfjelds merged 2 commits into
mainfrom
user/bfjelds/mjolnir/mic-container-mos-iso

Conversation

@bfjelds
Copy link
Copy Markdown
Member

@bfjelds bfjelds commented May 22, 2026

Summary

Replace the standalone imagecustomizer binary download with a docker run invocation of the Image Customizer container for the bin/trident-mos.iso Makefile target.

Changes

Makefile

  • Remove MIC_PACKAGE_NAME and MIC_PACKAGE_VERSION variables (no longer needed)
  • Remove artifacts/imagecustomizer download target
  • Replace sudo ./artifacts/imagecustomizer invocation with docker run --rm --privileged using $(MIC_CONTAINER_IMAGE)
  • Bind-mount the repo at /repo and use /build as the container-internal build directory
  • Remove artifacts/imagecustomizer from the clean target

docs/Development/Building/E2E-Tests.md

  • Remove the "Extract Image Customizer" build step (no longer needed since the Makefile handles the container internally)
  • Renumber subsequent steps

Motivation

  • Eliminates the az CLI dependency for local MOS ISO builds (the binary download required az acr login)
  • Aligns with the existing pattern used by other Makefile targets that already use $(MIC_CONTAINER_IMAGE)
  • Simplifies the developer workflow — make bin/trident-mos.iso just works with Docker

Testing

  • Built MOS ISO successfully on a Linux host using make bin/trident-mos.iso
  • Container pull, privileged mount, and ISO generation all completed without errors (264MB ISO, ~94 seconds)

Stacking

This PR is stacked on #652 (E2E doc rewrite).

@bfjelds
Copy link
Copy Markdown
Member Author

bfjelds commented May 22, 2026

/azp run [GITHUB]-trident-pr-e2e

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

fintelia
fintelia previously approved these changes May 22, 2026
frhuelsz
frhuelsz previously approved these changes May 23, 2026
Copy link
Copy Markdown
Contributor

@frhuelsz frhuelsz left a comment

Choose a reason for hiding this comment

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

note-to-future-selves: use the python-based in the builder for this image too

@bfjelds bfjelds force-pushed the user/bfjelds/mjolnir/e2e-doc-rewrite branch from 70cade1 to 51463ba Compare May 23, 2026 02:59
@bfjelds bfjelds force-pushed the user/bfjelds/mjolnir/mic-container-mos-iso branch from 133bd2d to 7a4567c Compare May 23, 2026 03:03
@bfjelds bfjelds force-pushed the user/bfjelds/mjolnir/e2e-doc-rewrite branch from 51463ba to e5902b4 Compare May 23, 2026 03:13
@bfjelds bfjelds force-pushed the user/bfjelds/mjolnir/mic-container-mos-iso branch 2 times, most recently from 422634d to e6d3b7d Compare May 23, 2026 03:25
@bfjelds bfjelds force-pushed the user/bfjelds/mjolnir/e2e-doc-rewrite branch from 83b67b8 to 3d491ca Compare May 26, 2026 20:08
Replace the binary imagecustomizer (downloaded from ADO artifacts feed
via az CLI) with a docker run invocation using the MIC_CONTAINER_IMAGE
container, consistent with how all other image builds work.

This removes the artifacts/imagecustomizer target and MIC_PACKAGE_NAME/
MIC_PACKAGE_VERSION variables, eliminating the az CLI dependency for
local builds. Also removes the now-unnecessary imagecustomizer extraction
step from E2E-Tests.md.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bfjelds bfjelds force-pushed the user/bfjelds/mjolnir/mic-container-mos-iso branch from e6d3b7d to f2dadb3 Compare May 26, 2026 23:02
@bfjelds bfjelds changed the base branch from user/bfjelds/mjolnir/e2e-doc-rewrite to main May 26, 2026 23:02
@bfjelds bfjelds dismissed stale reviews from frhuelsz and fintelia May 26, 2026 23:02

The base branch was changed.

@bfjelds
Copy link
Copy Markdown
Member Author

bfjelds commented May 27, 2026

/azp run [GITHUB]-trident-pr-e2e

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@bfjelds bfjelds marked this pull request as draft May 27, 2026 17:56
@bfjelds bfjelds marked this pull request as ready for review May 27, 2026 17:56
Copilot AI review requested due to automatic review settings May 27, 2026 17:56
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the local MOS installer ISO build flow to use the Image Customizer container directly (via docker run) instead of downloading/executing a standalone imagecustomizer binary, and removes the corresponding documentation step that required extracting the binary.

Changes:

  • Remove the az artifacts universal download-based artifacts/imagecustomizer target and related variables from the Makefile.
  • Build bin/trident-mos.iso by running the Image Customizer container ($(MIC_CONTAINER_IMAGE)) with the repo bind-mounted into the container.
  • Update E2E documentation to remove the “Extract Image Customizer” step and renumber subsequent steps.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
Makefile Switch bin/trident-mos.iso generation from a downloaded binary to a docker run using $(MIC_CONTAINER_IMAGE); removes the az-download target.
docs/Development/Testing/E2E-Tests.md Removes the manual Image Customizer binary extraction step since the Makefile now uses the container directly.

@bfjelds bfjelds merged commit 782e467 into main May 27, 2026
21 checks passed
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.

4 participants