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: pin azldev to 707663e and regenerate schema⚠️ PR-CHECK
    ONLY, REVERT BEFORE MERGE

    Bumps .azldev-version to 707663e64a5b07c0690cdc300006974376e6f414 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"]
Bump .azldev-version to 707663e64a5b07c0690cdc300006974376e6f414 and regenerate external/schemas/azldev.schema.json to match.
@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
@@ -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"
},
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