Skip to content

chore(component-group): add metadata to component disablement groups#18003

Draft
liunan-ms wants to merge 3 commits into
microsoft:4.0from
liunan-ms:liunan/component-group-metadata
Draft

chore(component-group): add metadata to component disablement groups#18003
liunan-ms wants to merge 3 commits into
microsoft:4.0from
liunan-ms:liunan/component-group-metadata

Conversation

@liunan-ms

@liunan-ms liunan-ms commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR adds file-level [metadata] (category + upstream-status) to component disablement groups and splits flaky-test disablements into their own group. This is a pure restructuring/annotation change — no component's build behavior is semantically altered beyond moving the same check.skip between groups, and the rendered specs are unaffected.

Complements the sibling metadata-annotation PRs #17727, #17888.

Changes

  • chore(check-disablement): split flaky-test disablements into their own group
    Migrates 6 components whose %check failures are flaky / race-condition (rather than deterministic) out of the check-skip-initial-failures group into a new check-skip-flaky-tests group in component-flaky-test-disablement.toml, registered in components.toml includes.

    • Each group carries a file-level [metadata] block. The new group uses category = "azl-disable-flaky-tests", upstream-status = "upstreamable".
    • Components identified via git blame of the disablement list:
      • socat — flaky proxy tests fail in mock
      • fakeroot — flaky test
      • python-aioquic — flaky test
      • python-pexpect — flaky test
      • python-pytest-xdist — flaky test
      • golang-github-moby-spdystream — timing-sensitive race condition
  • chore(mingw-disablement): add azl-pruning metadata to group
    Adds a file-level [metadata] block to the mingw-disabled group with category = "azl-pruning", upstream-status = "inapplicable" (Azure Linux does not ship mingw cross-compilation toolchains).

  • chore(azldev): pin to 830e6fed and regenerate schema — ⚠️ PR-CHECK ONLY, REVERT BEFORE MERGE
    Temporary. Pins .azldev-version to 830e6fed (upstream-backport category, URLRef replacing BugRef, required upstream-status replacing the old upstreamable boolean, azl-dep-missing-workaroundazl-temp-workaround rename, and optional component-group [metadata]) and regenerates external/schemas/azldev.schema.json so PR checks run against a tool that understands the new metadata fields. Must be reverted before this PR merges.

Validation

  • ✅ Structural no-op: the 6 moved components carry the same check.skip = true, only relocated to the flaky-test group.
  • azldev comp list -a parses cleanly.
  • ✅ Metadata/organizational changes only — no effect on built RPM output.

Copilot AI review requested due to automatic review settings July 13, 2026 18:10
@liunan-ms liunan-ms changed the title chore: add metadata to component disablement groups chore(component-group): add metadata to component disablement groups Jul 13, 2026

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.

Pull request overview

Adds metadata to component-disablement groups and separates flaky test failures from deterministic failures.

Changes:

  • Adds flaky-test disablement group for six components.
  • Adds category and upstream-status metadata.
  • Registers the new group configuration.

Reviewed changes

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

File Description
base/comps/components.toml Includes the new flaky-test group file.
base/comps/component-check-disablement.toml Removes flaky components and adds metadata.
base/comps/component-flaky-test-disablement.toml Defines the flaky-test group and metadata.
base/comps/component-mingw-disablement.toml Adds pruning metadata.

Comment thread base/comps/component-check-disablement.toml Outdated
Comment thread base/comps/component-mingw-disablement.toml
Comment thread base/comps/component-flaky-test-disablement.toml
Comment thread base/comps/component-flaky-test-disablement.toml
Copilot AI review requested due to automatic review settings July 13, 2026 18:21

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.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Comment on lines +187 to +189
[component-groups.check-skip-initial-failures.metadata]
category = "azl-disable-unsupported-tests"
upstream-status = "inapplicable"
liunan-ms and others added 3 commits July 13, 2026 18:43
…n group

Move 6 components whose %check failures are flaky/race-condition (rather
than deterministic) out of check-skip-initial-failures into a new
check-skip-flaky-tests group in component-flaky-test-disablement.toml.

Identified via git blame of the disablement list:
- socat: flaky proxy tests fail in mock
- fakeroot: flaky test (chore: disable check sections for flaky tests)
- python-aioquic: flaky test
- python-pexpect: flaky test
- python-pytest-xdist: flaky test
- golang-github-moby-spdystream: timing-sensitive race condition

The new group carries metadata category=azl-disable-flaky-tests and
upstream-status=upstreamable so these can be re-enabled once the upstream
flakiness is addressed, separate from the deterministic bring-up failures.
Add metadata category=azl-pruning and upstream-status=inapplicable to the
mingw-disabled component group, since Azure Linux does not ship mingw
cross-compilation toolchains and this divergence is not upstreamable.
Pin azldev to 830e6fed79750f8e24ae17cd630248f50c90c8a9, which builds on the
upstream-backport overlay category, URLRef (replacing BugRef), and required
upstream-status metadata (replacing the old upstreamable boolean). It also
renames the azl-dep-missing-workaround category to azl-temp-workaround and
adds an optional [metadata] block to component groups.

Regenerate external/schemas/azldev.schema.json against the pinned tool so the
authoritative schema matches the new overlay metadata model, including
upstream-status, the renamed azl-temp-workaround category, and component-group
metadata.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 13, 2026 18:44
@liunan-ms liunan-ms force-pushed the liunan/component-group-metadata branch from 5cbd647 to 239a894 Compare July 13, 2026 18:44

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.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Comment thread .azldev-version
@@ -1 +1 @@
0256227f5434d9e00d7c8501b16848efa400a72b
830e6fed79750f8e24ae17cd630248f50c90c8a9
@github-actions

Copy link
Copy Markdown

📄❌ Rendered specs are out of date

FIX: — run this and commit the result:

azldev component render fakeroot golang-github-moby-spdystream python-aioquic python-pexpect python-pytest-xdist socat

Or download the fix patch and apply it:

gh run download 29275671428 -R microsoft/azurelinux -n rendered-specs-patch
git apply rendered-specs.patch
Category Count
Content diffs 6
Extra files (untracked) 0
Missing files (deleted) 0

Content diffs

`specs/f/fakeroot/fakeroot.spec`
--- committed/specs/f/fakeroot/fakeroot.spec
+++ rendered/specs/f/fakeroot/fakeroot.spec
@@ -116,7 +116,7 @@
 sed -e 's/-tcp//g' fake{d,root}-tcp.lang > fakeroot.lang
 
 %check
-# Check section disabled: Disabling checks for initial set of failures.
+# Check section disabled: Disabling checks for flaky tests.
 exit 0
 
 for type in sysv tcp; do
`specs/g/golang-github-moby-spdystream/golang-github-moby-spdystream.spec`
--- committed/specs/g/golang-github-moby-spdystream/golang-github-moby-spdystream.spec
+++ rendered/specs/g/golang-github-moby-spdystream/golang-github-moby-spdystream.spec
@@ -53,7 +53,7 @@
 
 %if %{with check}
 %check
-# Check section disabled: Disabling checks for initial set of failures.
+# Check section disabled: Disabling checks for flaky tests.
 exit 0
 
 %gocheck
`specs/p/python-aioquic/python-aioquic.spec`
--- committed/specs/p/python-aioquic/python-aioquic.spec
+++ rendered/specs/p/python-aioquic/python-aioquic.spec
@@ -109,7 +109,7 @@
 %endif
 
 %check
-# Check section disabled: Disabling checks for initial set of failures.
+# Check section disabled: Disabling checks for flaky tests.
 exit 0
 
 %pyproject_check_import
`specs/p/python-pexpect/python-pexpect.spec`
--- committed/specs/p/python-pexpect/python-pexpect.spec
+++ rendered/specs/p/python-pexpect/python-pexpect.spec
@@ -85,7 +85,7 @@
 
 %if %{with check}
 %check
-# Check section disabled: Disabling checks for initial set of failures.
+# Check section disabled: Disabling checks for flaky tests.
 exit 0
 
 export PYTHONIOENCODING=UTF-8
`specs/p/python-pytest-xdist/python-pytest-xdist.spec`
--- committed/specs/p/python-pytest-xdist/python-pytest-xdist.spec
+++ rendered/specs/p/python-pytest-xdist/python-pytest-xdist.spec
@@ -48,7 +48,7 @@
 %pyproject_save_files -l xdist
 
 %check
-# Check section disabled: Disabling checks for initial set of failures.
+# Check section disabled: Disabling checks for flaky tests.
 exit 0
 
 %tox
`specs/s/socat/socat.spec`
--- committed/specs/s/socat/socat.spec
+++ rendered/specs/s/socat/socat.spec
@@ -68,7 +68,7 @@
 cp -a %{buildroot}/%{_mandir}/man1/filan.1.gz %{buildroot}/%{_mandir}/man1/procan.1.gz
 
 %check
-# Check section disabled: Disabling checks for initial set of failures.
+# Check section disabled: Disabling checks for flaky tests.
 exit 0
 
 %ifarch x86_64

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.

2 participants