test: add component tmt tests mapping - #18690
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The pinned azldev predates the test schema, Buildah is not mapped to its test, and two rendered changelogs are stale.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds a pinned TMT test catalog and associates functional plans with Azure Linux components.
Changes:
- Defines 22 pinned TMT plans and component mappings.
- Adds SELinux policy and Buildah test dependencies.
- Regenerates affected locks and RPM specs.
File summaries
| File | Description |
|---|---|
base/comps/components.toml |
Loads test catalogs and maps inline components. |
base/comps/tmt.tests.toml |
Defines pinned TMT tests. |
base/comps/container-runtime.tests.toml |
Adds a container-runtime test group. |
base/comps/buildah/buildah.comp.toml |
Adds the Buildah test dependency overlay. |
base/comps/chrony/chrony.comp.toml |
Maps Chrony tests. |
base/comps/glibc/glibc.comp.toml |
Maps glibc tests. |
base/comps/net-tools/net-tools.comp.toml |
Maps net-tools tests. |
base/comps/nodejs22/nodejs22.comp.toml |
Maps Node.js 22 tests. |
base/comps/nodejs24/nodejs24.comp.toml |
Maps Node.js 24 tests. |
base/comps/rust/rust.comp.toml |
Maps Rust tests. |
base/comps/selinux-policy/selinux-policy.comp.toml |
Maps tests and adds a policy overlay. |
base/comps/selinux-policy/dhcpc-hook-read-proc-filesystems.patch |
Grants dhcpc hooks proc metadata access. |
base/comps/systemd/systemd.comp.toml |
Maps systemd tests. |
base/comps/util-linux/util-linux.comp.toml |
Maps util-linux tests. |
locks/buildah.lock |
Refreshes the Buildah fingerprint. |
locks/selinux-policy.lock |
Refreshes the SELinux policy fingerprint. |
specs/b/buildah/buildah.spec |
Adds slirp4netns to the test package. |
specs/s/selinux-policy/selinux-policy.spec |
Registers the policy patch. |
specs/s/selinux-policy/dhcpc-hook-read-proc-filesystems.patch |
Adds the rendered policy patch. |
specs/s/systemd/systemd.spec |
Updates rendered systemd configuration. |
Review details
- Files reviewed: 18/20 changed files
- Comments generated: 4
- Review effort level: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
0be2066 to
654e0f1
Compare
654e0f1 to
eb2e1e6
Compare
There was a problem hiding this comment.
🔵 Needs a closer look
The pinned azldev version cannot parse the new schema, and the Buildah TMT test is not mapped to its component.
Review details
Suppressed comments (2)
base/comps/components.toml:1
- The repository is still pinned to azldev v0.3.0 (
.azldev-version), whose strict schema has neither top-leveltests/test-groupsnorComponentConfig.tests;.github/workflows/lint.yaml:32-37installs that pin and validates the full config. Including these files therefore makes config loading fail before any mapping can be used. Please bump the pin to a revision containing azure-linux-dev-tools#229 and regenerate the checked-in schema/agent docs as part of this PR.
includes = ["**/*.comp.toml", "**/*.tests.toml", "component-bootstrap-uucore-pin.toml", "component-check-disablement.toml", "component-mingw-disablement.toml", "components-publish-channels.toml"]
base/comps/buildah/buildah.comp.toml:1
tmt-buildahis defined intmt.tests.toml, and this PR adds a Buildah test dependency, but no component references that test (the repository-wide reference search only finds its definition). As written, Buildah's new TMT plan will never be selected. Attach it to the component before declaring the overlays.
[components.buildah]
- Files reviewed: 17/19 changed files
- Comments generated: 0 new
- Review effort level: Balanced
There was a problem hiding this comment.
🟡 Changes recommended
The pinned azldev version rejects the new test configuration, and several mappings violate component file organization.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
Suppressed comments (7)
base/comps/components.toml:1
- The repository is pinned to azldev v0.3.0, whose strict config decoder supports neither top-level
[tests]/[test-groups]norComponentConfig.tests. Including these files therefore makes normal azldev config loading fail on unknown fields before any mapping can be used. Please bump.azldev-versionto a revision containing the test-configuration feature and regenerate the checked-in schema/docs with that version.
includes = ["**/*.comp.toml", "**/*.tests.toml", "component-bootstrap-uucore-pin.toml", "component-check-disablement.toml", "component-mingw-disablement.toml", "components-publish-channels.toml"]
base/comps/components.toml:3275
components.tomlis explicitly reserved for Fedora imports with no per-component modifications (lines 13-14). This test configuration customizespodman; move the component entry and mapping intobase/comps/podman/podman.comp.toml.
[components.podman.tests]
base/comps/components.toml:1851
components.tomlis explicitly reserved for Fedora imports with no per-component modifications (lines 13-14). This test mapping customizeslibselinux; move the component entry and mapping intobase/comps/libselinux/libselinux.comp.toml.
[components.libselinux.tests]
base/comps/components.toml:330
components.tomlis explicitly reserved for Fedora imports with no per-component modifications (lines 13-14). This test mapping customizesdhcpcd; move the component entry and mapping intobase/comps/dhcpcd/dhcpcd.comp.toml.
[components.dhcpcd.tests]
base/comps/components.toml:1144
components.tomlis explicitly reserved for Fedora imports with no per-component modifications (lines 13-14). This test mapping customizeshostname; move the component entry and mapping intobase/comps/hostname/hostname.comp.toml.
[components.hostname.tests]
base/comps/components.toml:2067
components.tomlis explicitly reserved for Fedora imports with no per-component modifications (lines 13-14). This test mapping customizesmemcached; move the component entry and mapping intobase/comps/memcached/memcached.comp.toml.
[components.memcached.tests]
base/comps/components.toml:6620
components.tomlis explicitly reserved for Fedora imports with no per-component modifications (lines 13-14). This test mapping customizesskopeo; move the component entry and mapping intobase/comps/skopeo/skopeo.comp.toml.
[components.skopeo.tests]
- Files reviewed: 17/19 changed files
- Comments generated: 1
- Review effort level: Balanced
eb2e1e6 to
c38d803
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The pinned azldev version cannot parse the new test configuration, and the Parted test is mapped to the wrong component.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
Suppressed comments (1)
base/comps/components.toml:1
- The repository is still pinned to azldev
261ae747…(v0.3.0), whose strict config model has neither top-level[tests]/[test-groups]norComponentConfig.tests. Including these files therefore makes the lint workflow'sazldev config dumpfail on unknown fields. Bump.azldev-versionto a revision containing the test-configuration feature and regenerate the checked-in schema/agent docs as required before adding these entries.
includes = ["**/*.comp.toml", "**/*.tests.toml", "component-bootstrap-uucore-pin.toml", "component-check-disablement.toml", "component-mingw-disablement.toml", "components-publish-channels.toml"]
- Files reviewed: 18/20 changed files
- Comments generated: 1
- Review effort level: Balanced
c38d803 to
5fd7f69
Compare
There was a problem hiding this comment.
🔵 Needs a closer look
The pinned azldev v0.3.0 cannot parse or merge the newly introduced test configuration.
Review details
Suppressed comments (1)
base/comps/components.toml:1
- The repository is still pinned to azldev v0.3.0 (
.azldev-version), whose strict loader has no[tests]/[test-groups]or componenttestsfields and rejects duplicate component definitions. Therefore importing these files makes normal azldev commands fail before any mapping can be used (several new test-only component files also repeat entries from this catalog). Bump the pin to v0.4.0, which introduced both features, and refresh the generated schema/agent docs in the same PR.
includes = ["**/*.comp.toml", "**/*.tests.toml", "component-bootstrap-uucore-pin.toml", "component-check-disablement.toml", "component-mingw-disablement.toml", "components-publish-channels.toml"]
- Files reviewed: 27/29 changed files
- Comments generated: 0 new
- Review effort level: Balanced
5fd7f69 to
4eaf037
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The pinned azldev version does not support the new test configuration syntax, causing strict configuration validation to fail.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 26/28 changed files
- Comments generated: 1
- Review effort level: Balanced
Tobias Brick (tobiasb-ms)
left a comment
There was a problem hiding this comment.
issue(blocking): Can we break this up into different PRs or at least commits? Is there any specific reason we wouldn't do that?
4eaf037 to
fe47541
Compare
Tobias Brick (tobiasb-ms)
left a comment
There was a problem hiding this comment.
Changes all look good.
However, there's a commit issue. The final commit really just fixes up issues from previous commits.
Please fold each of these changes into the appropriate commits.
Copilot should be able to do that relatively easily.
51430b0 to
23fb971
Compare
This is fixed. |
|
/azp run |
|
Azure Pipelines: 2 pipeline(s) were filtered out due to trigger conditions. |
I need to look at this more closely.
| kind = "functional" | ||
| required-capabilities = ["machine-bootable"] | ||
| [tests.tmt-dhcpcd-all.tmt] | ||
| source = { git-url = "https://gitlab.com/redhat/centos-stream/tests/dhcpcd.git", ref = "c9d18d35e12e41cf9045416a1cf37fecc4a26c9c" } |
There was a problem hiding this comment.
question(blocking-for-answer): Some of the urls are fedoraproject and some are different. Where did they actually come from?
| kind = "functional" | ||
| required-capabilities = ["machine-bootable"] | ||
| [tests.tmt-conmon-local-root.tmt] | ||
| source = { git-url = "https://github.com/containers/podman.git", ref = "fb1cb4fa6ea4003775c5ec0b4e56dbc8a670a173" } |
There was a problem hiding this comment.
question(blocking-for-answer): Base on the git-url, this looks like it's for podman. Is that not the case?
No description provided.