You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Azure Linux 4 is in beta, switching to 3: https://mcr.microsoft.com/en-us/artifact/mar/azurelinux/base/core/tag/3.0
Repository: azurelinux/base/core
Tag: 3.0
Type: application/vnd.docker.distribution.manifest.list.v2+json
Digest: sha256:34a22db497ff34a0f35ca5fc54bd38711d04238a2c1b2f65d35dc9d45dd82584
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
The Azure Linux build omits its kernel, while its launcher and package manifest are incompatible with the new rootfs.
Get a fresh assessment by requesting another Copilot review.
Review details
Suppressed comments (2)
docker/Dockerfile:99
build-guest --guest azurelinux selects this target, but build_docker_artifacts() subsequently requires both vmlinux and initramfs.cpio.gz. A clean build therefore always fails for a missing kernel; an existing destination can instead mask this by reusing a stale kernel. Export the kernel artifacts from this combined target as the Alpine artifacts target does.
FROM scratch AS azurelinux-artifacts
COPY --from=azurelinux-initramfs /tmp/initramfs.cpio.gz /initramfs.cpio.gz
COPY --from=azurelinux-initramfs /tmp/initramfs.cpio.gz.packages.json /initramfs.cpio.gz.packages.json
docker/Dockerfile:80
This manifest is incompatible with the existing release-source pipeline: collect_alpine_sources._load_packages() indexes every package as an object with name and version, while this emits four strings, so collect-sources fails after an Azure Linux build. It also omits packages already present in the base image and transitive installs. Generate an installed-RPM inventory with metadata and make source collection distribution-aware.
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
The Azure Linux image omits required runtime tools and retains an unavailable BusyBox error path.
Get a fresh assessment by requesting another Copilot review.
Review details
Suppressed comments (1)
docker/Dockerfile:64
The copied init script still calls /bin/busybox reboot -f in fatal(), but Azure Linux base/core does not provide BusyBox and this stage does not install it. Any early boot error therefore reaches a missing command and exits PID 1 instead of reporting the VM exit status. Patch this call to the installed nvx-exit helper (or make init distro-neutral).
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🟡 Changes recommended
Azure Linux cannot currently boot successfully, and release packaging, artifact selection, image-pin enforcement, and package manifests remain incomplete.
Get a fresh assessment by requesting another Copilot review.
Copilot#116 got merged; rebase and make the changes based on it
Done — merged dev (with PR #116's Ubuntu guest support) into this branch and reconciled the Azure Linux integration with the new GuestDescriptor/guest-build architecture. Verified with the full test_nvx_tools.py suite, ruff, pyright, and shellcheck/shfmt.
CI does not build, upload, or smoke-test Azure guest artifacts
docker/Dockerfile:125
No CI path actually builds this new Docker target. .github/actions/build-guest-artifacts/action.yml only builds/caches Alpine and Ubuntu, and .github/workflows/ci.yml:151-166 uploads the same set; the added unit test mocks Docker execution. Add Azure artifact build/cache/upload steps and an Azure guest boot/identity smoke test so Dockerfile or runtime regressions are detected.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
NVX currently builds an Alpine initramfs exclusively. This change adds Azure Linux 3 as an additional guest option while preserving Alpine defaults.
Guest selection
Azure Linux rootfs
Coverage