Skip to content

release: name the mismatched fields in Ubuntu artifact manifest errors - #604

Closed
烜 (xuanshen666) wants to merge 1 commit into
microsoft:devfrom
xuanshen666:fix-ubuntu-manifest-error-fields
Closed

烜 (xuanshen666) wants to merge 1 commit into
microsoft:devfrom
xuanshen666:fix-ubuntu-manifest-error-fields

Conversation

@xuanshen666

Copy link
Copy Markdown

Closes #602.

Problem

scripts/nvx.py package checked five fields in each Ubuntu artifact manifest, but raised the same Ubuntu artifact manifest does not match <artifact> message for any of them. That hid whether the artifact digest or the build-input digest differed, which slowed down triage of the Windows Package release failure behind #599.

Change

In _guest_release_inputs, compare each field against its expected value and report every mismatch:

  • names the failing manifest file,
  • names each mismatched field with the manifest value and the expected value,
  • reports a missing field as missing,
  • prints digests in full,
  • keeps the existing Ubuntu artifact manifest does not match <artifact> prefix so log searches and existing tests still match.

Tests

  • Tightened test_guest_release_inputs_reject_stale_ubuntu_artifacts to assert the message names artifact_sha256 and not input_sha256.
  • Tightened test_guest_release_inputs_reject_stale_ubuntu_source_inputs to assert the message names input_sha256 and not artifact_sha256.
  • Added test_guest_release_inputs_report_multiple_mismatches_and_missing_fields covering two mismatching fields and a missing field.

Validation

I couldn't run the suite locally (host Python is too old); the focused tests are:

python -m unittest -k guest_release_inputs scripts/test_nvx_tools.py
python -m ruff check scripts
python -m ruff format --check scripts

The Ubuntu artifact manifest check raised the same generic message for any of its five fields, hiding which field differed. Report every mismatched field with the manifest value and the expected value, name the failing manifest, and keep the existing message prefix.

Closes microsoft#602.
Copilot AI balanced review requested due to automatic review settings October 19, 2026 14:09

Copilot AI 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.

🟢 Approval recommended

The focused diagnostic change meets the stated requirements with no identified blocking issues; tests were not executed during review.

No open issues 🎉

What changed in this PR

Improves Ubuntu release-packaging diagnostics for #602, making artifact and build-input mismatches easier to distinguish.

Changes:

  • Reports every mismatched field, actual and expected values, and the manifest filename while preserving the existing error prefix.
  • Strengthens tests for stale artifacts, changed inputs, multiple mismatches, and missing fields.
File Description
scripts/​test_nvx_tools.py Adds and strengthens diagnostic assertions.
scripts/​nvx_tools/​release.py Collects and reports detailed manifest mismatches.

Review effort: Balanced

@ppenna

Copy link
Copy Markdown
Contributor

烜 (@xuanshen666) please complete the signing.

@ppenna

Copy link
Copy Markdown
Contributor

Thank you for working on this, 烜 (@xuanshen666). We can't accept this pull request because the Contributor License Agreement wasn't signed, so I'm closing it. #664 fixes #602 with a separate implementation.

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.

release: name the mismatched fields in Ubuntu artifact manifest errors

3 participants