Skip to content

chore(comps): annotate temp-workaround overlays with metadata#17973

Open
liunan-ms wants to merge 3 commits into
microsoft:4.0from
liunan-ms:liunan/azl-temp-workaround
Open

chore(comps): annotate temp-workaround overlays with metadata#17973
liunan-ms wants to merge 3 commits into
microsoft:4.0from
liunan-ms:liunan/azl-temp-workaround

Conversation

@liunan-ms

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

Copy link
Copy Markdown
Contributor

Summary

This PR adds per-file overlays (overlays/*.overlay.toml) carrying file-level [metadata] (category + upstream-status) for a set of temporary bootstrap / version-pin workarounds.

  • 8 components touched
  • 9 overlay files added

The workarounds fall into two buckets:

  • Bootstrap artifacts (category = "azl-temp-workaround", upstream-status = "inapplicable") — missing transitive BuildRequires and disabled
    bindings/plugins caused by bootstrap-mode builds stripping golang(...) /
    auto-generated Requires, or by OCaml/libguestfs not yet being buildable in
    the bootstrap tag: erlang-rebar3, golang-github-prometheus-common,
    golang-mongodb-mongo-driver, libnbd, migrate, nbdkit (0001),
    pyOpenSSL.
  • Missing/dead dependency workaroundgolang-github-envoyproxy-control-plane
    disables dynamic BuildRequires generation due to the dead
    golang-github-sagikazarmark-crypt transitive dep.
  • Permanent pruningnbdkit (0002) disables the mingw subpackage
    (category = "azl-pruning", upstream-status = "needs-upstream-hook"); AZL
    never ships mingw toolchains.

Changes

Three commits, deliberately kept separate so the two scaffolding pieces can be
dropped independently before merge:

  • chore(comps): annotate temp-workaround overlays with metadata
    Adds the per-file overlays with file-level [metadata] and moves the
    rationale comments out of the comp.toml files into their overlay files.
  • TEMP: enable overlay-files loading for PR check⚠️ PR-CHECK ONLY,
    REVERT BEFORE MERGE

    Sets default-component-config.overlay-files = ["overlays/*.overlay.toml"]
    in components.toml so every component inherits per-file overlay discovery.
    Standalone so it can be reverted independently.
  • chore(azldev): pin to 830e6fed and regenerate schema⚠️ PR-CHECK
    ONLY, REVERT BEFORE MERGE

    Pins .azldev-version to 830e6fed79750f8e24ae17cd630248f50c90c8a9 (upstream-backport
    overlay 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 overlay-files / metadata fields.

Validation

  • azldev comp render in the PR check pending
  • Regenerated schema validates the new metadata (the azl-temp-workaround
    category is present in the pinned tool's schema).
  • metadata is fingerprint-excluded, so lock files are unaffected.

Add [metadata] blocks (category + upstream-status) to bootstrap and
version-pin workaround overlays, and move rationale comments from the
comp.toml files into their overlay files.
Sets default-component-config.overlay-files globally so the new
*.overlay.toml files are exercised by PR checks.

DO NOT MERGE — revert this commit before merging the PR.
Copilot AI review requested due to automatic review settings July 10, 2026 01:37

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

Moves temporary build workarounds into metadata-annotated per-file overlays and temporarily enables supporting azldev functionality.

Changes:

  • Migrates inline overlays for eight components into nine overlay files.
  • Adds intent and upstream-status metadata.
  • Temporarily updates overlay discovery, azldev, and its schema.

Reviewed changes

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

Show a summary per file
File Description
.azldev-version Pins metadata-capable azldev.
external/schemas/azldev.schema.json Regenerates the azldev schema.
base/comps/components.toml Enables per-file overlay discovery.
base/comps/pyOpenSSL/pyOpenSSL.comp.toml Removes migrated inline overlays.
base/comps/pyOpenSSL/overlays/0001-pin-python3-cryptography-45.overlay.toml Adds cryptography pin overlays and metadata.
base/comps/nbdkit/nbdkit.comp.toml Removes migrated inline overlays.
base/comps/nbdkit/overlays/0001-disable-libguestfs-plugin-libguestfs.overlay.toml Disables unavailable plugins with metadata.
base/comps/nbdkit/overlays/0002-disable-mingw-subpackage-ship.overlay.toml Disables permanent mingw packaging.
base/comps/migrate/migrate.comp.toml Removes migrated inline overlay.
base/comps/migrate/overlays/0001-add-missing-jmespath-buildrequires.overlay.toml Adds bootstrap dependency workaround.
base/comps/libnbd/libnbd.comp.toml Removes migrated inline overlay.
base/comps/libnbd/overlays/0001-disable-ocaml-bindings-ocaml.overlay.toml Disables incompatible OCaml bindings.
base/comps/golang-mongodb-mongo-driver/golang-mongodb-mongo-driver.comp.toml Removes migrated inline overlay.
base/comps/golang-mongodb-mongo-driver/overlays/0001-add-missing-transitive-buildrequires.overlay.toml Adds missing transitive dependency.
base/comps/golang-github-prometheus-common/golang-github-prometheus-common.comp.toml Removes migrated inline overlay.
base/comps/golang-github-prometheus-common/overlays/0001-add-missing-jmespath-buildrequires.overlay.toml Adds missing bootstrap dependency.
base/comps/golang-github-envoyproxy-control-plane/golang-github-envoyproxy-control-plane.comp.toml Removes migrated inline overlay.
base/comps/golang-github-envoyproxy-control-plane/overlays/0001-disable-dynamic-buildrequires-generation.overlay.toml Disables broken dependency generation.
base/comps/erlang-rebar3/erlang-rebar3.comp.toml Removes migrated inline overlay.
base/comps/erlang-rebar3/overlays/0001-enable-bootstrap-mode-break.overlay.toml Restores temporary bootstrap mode.

includes = ["**/*.comp.toml", "component-check-disablement.toml", "component-mingw-disablement.toml", "components-publish-channels.toml"]

[default-component-config]
overlay-files = ["overlays/*.overlay.toml"]
@liunan-ms liunan-ms force-pushed the liunan/azl-temp-workaround branch from a0a06ba to 21c5047 Compare July 10, 2026 20:04
@liunan-ms liunan-ms marked this pull request as ready for review July 10, 2026 21:12
@liunan-ms liunan-ms requested a review from a team as a code owner July 10, 2026 21:12
Copilot AI review requested due to automatic review settings July 10, 2026 21:12

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 20 out of 20 changed files in this pull request and generated 4 comments.

type = "spec-search-replace"
section = "%generate_buildrequires"
regex = "%go_generate_buildrequires"
replacement = "# Disabled: transitive dep on dead golang-github-sagikazarmark-crypt (see comp.toml)"
Comment on lines +3 to +4
[default-component-config]
overlay-files = ["overlays/*.overlay.toml"]
Comment thread .azldev-version Outdated
@@ -1 +1 @@
0256227f5434d9e00d7c8501b16848efa400a72b
707663e64a5b07c0690cdc300006974376e6f414
Comment on lines +122 to +129
"overlay-files": {
"items": {
"type": "string"
},
"type": "array",
"title": "Overlay files",
"description": "Path or glob patterns (relative to the component config file or matched spec directory) matched against the filesystem to locate per-file overlay documents after component config resolution. Use an empty list to disable inherited overlay-file patterns"
},
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:47
@liunan-ms liunan-ms force-pushed the liunan/azl-temp-workaround branch from 21c5047 to b11e96c Compare July 13, 2026 18:47

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 20 out of 20 changed files in this pull request and generated 3 comments.

type = "spec-search-replace"
section = "%generate_buildrequires"
regex = "%go_generate_buildrequires"
replacement = "# Disabled: transitive dep on dead golang-github-sagikazarmark-crypt (see comp.toml)"
Comment on lines +3 to +4
[default-component-config]
overlay-files = ["overlays/*.overlay.toml"]
Comment thread .azldev-version
@@ -1 +1 @@
0256227f5434d9e00d7c8501b16848efa400a72b
830e6fed79750f8e24ae17cd630248f50c90c8a9
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