Skip to content

Migration xilinx project provide to ce-oem (New)#2640

Merged
seankingyang merged 22 commits into
mainfrom
migration_Xilinx
Jul 13, 2026
Merged

Migration xilinx project provide to ce-oem (New)#2640
seankingyang merged 22 commits into
mainfrom
migration_Xilinx

Conversation

@seankingyang

Copy link
Copy Markdown
Contributor

Description

https://warthogs.atlassian.net/browse/OEMQA-6643

Resolved issues

Documentation

Tests

Create the Xilinx project unit folder and add the platform manifest entry used to gate migrated Xilinx jobs.
Migrate the Limerick SKU detection resource as a Xilinx runtime resource. Gate it with the Xilinx platform manifest so later migrated jobs only run on intended devices.
Move the Limerick DTB component coverage into the CE OEM Xilinx units. Gate the migrated job with the Xilinx manifest and use the shared Xilinx SKU resource for template expansion.
Move the Limerick firmware attachment job into the CE OEM Xilinx units. Gate it with the Xilinx manifest while preserving release-specific firmware status collection.
Move the Limerick GStreamer camera jobs and plans into CE OEM Xilinx units. Gate each migrated job with the Xilinx manifest and SKU resource while preserving manual, automated, and after-suspend coverage.
Move the Limerick package sanity checks into CE OEM Xilinx units. Keep helper scripts flat under bin and gate migrated package jobs with the Xilinx manifest.
Move the Limerick VCU decoder and encoder checks into CE OEM Xilinx units. Gate jobs with the Xilinx manifest and SKU resource, and include the video samples required by the decoder jobs.
@seankingyang seankingyang added the ce-oem The PR only contains to the ce-oem provider under the contrib area label Jul 6, 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

This PR migrates/introduces Xilinx-specific Checkbox CE-OEM provider content by adding manifest gating, resources, test plans, PXU jobs, and supporting Python test scripts under contrib/checkbox-ce-oem/checkbox-provider-ce-oem.

Changes:

  • Add Xilinx manifest entry + SKU resource and wire them into Xilinx test plans/jobs via requires/bootstrap_include.
  • Introduce multiple Xilinx test plans (VCU, packages, gstreamer camera, firmware, DTB components) and their associated job definitions.
  • Add Python-based package/runtime/component test helpers invoked by the PXU jobs.

Reviewed changes

Copilot reviewed 12 out of 19 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/Xilinx_manifest.pxu Adds a manifest entry used to gate Xilinx-only jobs/plans.
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/vcu_test_plan.pxu Defines Xilinx VCU automated/manual test plans.
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/vcu_job.pxu Adds VCU decode/encode jobs gated by SKU + manifest.
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/resource_job.pxu Adds xilinx_sku resource extraction from device-tree model.
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/packages_test_plan.pxu Adds package functionality test plans and an aggregate plan.
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/packages_job.pxu Adds package test jobs that run Python unittests per package.
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/gst_camera_test_plan.pxu Adds manual/auto camera test plans (including after-suspend variants).
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/gst_camera_job.pxu Adds gstreamer-based camera template jobs (manual + automated capture).
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/firmware_test_plan.pxu Adds an automated firmware info attachment plan.
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/firmware_job.pxu Adds firmware info attachment job conditional on Ubuntu release.
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/components_test_plan.pxu Adds DTB component verification test plan.
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/components_job.pxu Adds DTB component verification job invoking a helper script.
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/bin/xilinx_vut_handler.py Adds version-under-test argument handling + dpkg version compare helper.
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/bin/xilinx_runtime_test.py Adds unittest suite for XRT/xbutil functionality (incl. JSON examine).
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/bin/xilinx_kria_dashboard_test.py Adds unittest suite for the kria-dashboard service/http endpoint.
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/bin/xilinx_dfx_mgr_test.py Adds unittest suite for dfx-mgr-client behavior across options.
contrib/checkbox-ce-oem/checkbox-provider-ce-oem/bin/xilinx_component_test.py Adds DTB vs /proc/device-tree compatible-property verification script.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/packages_job.pxu Outdated
Comment thread contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/firmware_job.pxu Outdated
Comment thread contrib/checkbox-ce-oem/checkbox-provider-ce-oem/units/Xilinx/gst_camera_job.pxu Outdated
seankingyang and others added 11 commits July 6, 2026 16:55
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Clean up copied Xilinx helper scripts so provider tox lint checks pass. Keep the migrated behavior unchanged while satisfying flake8 and line-length rules.
Quote runtime variables in migrated Xilinx PXU commands and make the copied helper scripts parse on Python 3.5. This keeps the migrated behavior while satisfying tox shellcheck and flake8 checks.
Rename copied DFX test methods and matching PXU selectors to satisfy pep8-naming in the py310 tox job.
Add Xilinx-specific server, desktop, and core aggregate plans that include the migrated project-specific Xilinx jobs.
Split the Xilinx aggregate plans into server, desktop, and core manual and automated plans. Use explicit job and template ids instead of generated-job regex selectors.
Use package.name on the left side for migrated Xilinx package requirements so the unit expressions follow provider conventions.

@baconYao baconYao 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.

Add also-after-suspend

Address review feedback on PR #2640: add flags: also-after-suspend to
the Xilinx test jobs so after-suspend sibling jobs are generated and
can be selected or included in suspend test plans (VCU codec jobs,
DTB components template, and the implemented package tests).

Intentionally not flagged:
- xilinx-firmware/info-{release}: an attachment job collecting boot
  firmware info; suspend does not change boot-time state, so an
  after-suspend duplicate adds no coverage.
- The six dfx-mgr '[To be implemented]' placeholder jobs: their test
  methods are still stubs, so after-suspend variants would only
  duplicate misleading placeholders.
- xilinx-gst-camera templates already carry the flag.
Group the is_Xilinx question under a "Xilinx specific:" heading in
the manifest collection screen instead of the generic hardware
prompt, so operators can tell the question is Xilinx-only.
@seankingyang
seankingyang requested a review from baconYao July 13, 2026 05:15
stanley31huang
stanley31huang previously approved these changes Jul 13, 2026

@stanley31huang stanley31huang left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

In the checkbox UI flow, bootstrap runs BEFORE the manifest screen
(checkbox_ng/launcher/subcommands.py: bootstrap() precedes
_save_manifest()), so requires: manifest.is_Xilinx on xilinx_sku is
evaluated against the machine-manifest.json stored by a PREVIOUS
session, not the answer the operator is about to give. On a fresh
device the resource gets inhibited, the DTB components template
expands to zero jobs, and every job filtering on xilinx_sku.short_name
(VCU, gst-camera) skips even after the operator answers Yes.

Remove the manifest expression and self-gate the command on the
device-tree model instead (xilinx/zynq/kria/zcu/versal), so
non-Xilinx machines emit no records and generate no jobs. The test
jobs keep their manifest.is_Xilinx requires, evaluated at run time
after manifest collection.
Per review decision, the self-gating guard now exits 1 with a stderr
reason instead of exiting 0 silently, so running a Xilinx plan on a
non-Xilinx device-tree model shows up as a failed resource job in the
results instead of an empty resource.

@stanley31huang stanley31huang left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@baconYao baconYao 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.

LGTM

@seankingyang
seankingyang merged commit df10109 into main Jul 13, 2026
22 checks passed
@seankingyang
seankingyang deleted the migration_Xilinx branch July 13, 2026 07:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ce-oem The PR only contains to the ce-oem provider under the contrib area

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants