Skip to content

CI: unify L4 pod selection on scene-test levels - #1775

Merged
ChaoWao merged 2 commits into
hw-native-sys:mainfrom
ccyywwen:ci-l4pod-codeclean
Aug 11, 2026
Merged

CI: unify L4 pod selection on scene-test levels#1775
ChaoWao merged 2 commits into
hw-native-sys:mainfrom
ccyywwen:ci-l4pod-codeclean

Conversation

@ccyywwen

Copy link
Copy Markdown
Contributor

This removes @pytest.mark.pod as a selection mechanism and moves L4 pod wrappers onto the shared scene-test level axis with SceneTestLevel.POD and @scene_level(...).

Changes:

  • Add SceneTestLevel and scene_level to simpler_setup
  • Extend pytest collection to support --level 4 and --exclude-level 4
  • Keep pod_remote_device_count as the peer-resource declaration
  • Update L4 pod wrappers, CI workflows, and docs to use level-based selection
  • Add unit coverage for level normalization, filtering, and st_pod_logs

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 8e4da2d8-63ad-4452-9591-37c7c2157c19

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The pull request introduces normalized scene-test levels for chip, host, and pod tests. Pytest supports level inclusion and exclusion, dispatch handles inherited filters, pod tests use level metadata, and CI workflows and documentation use the new options.

Changes

Scene-level test filtering

Layer / File(s) Summary
Scene-level contract
simpler_setup/scene_test.py, simpler_setup/__init__.py
Adds SceneTestLevel and scene_level, validates level values, and exports the new API.
Pytest filtering and dispatch
conftest.py, tests/ut/py/test_scene_level_selection.py
Adds --exclude-level, normalizes class and function metadata, updates collection and dispatch behavior, and tests the filtering rules.
Pod test migration
examples/workers/l4/..., tests/st/a2a3/..., examples/workers/README.md
Replaces pod markers with @scene_level(SceneTestLevel.POD) and updates L4 execution guidance.
CI and documentation integration
.github/workflows/*, docs/ci.md, docs/testing.md, docs/user/reference/cli.md, docs/troubleshooting/..., examples/README.md
Uses --level 4 for pod jobs and --exclude-level 4 for ordinary scene-test jobs.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant PytestCLI
  participant conftestpy
  participant SceneTestDispatcher
  PytestCLI->>conftestpy: provide scene-level selection
  conftestpy->>conftestpy: normalize metadata and filter tests
  conftestpy->>SceneTestDispatcher: remove inherited exclude-level option
  SceneTestDispatcher->>conftestpy: dispatch eligible pod-level tests
Loading

Possibly related PRs

Poem

A rabbit hops through level four,
No pod-marked signs remain at the door.
Chip and host tests choose their lane,
CI follows the level train.
scene_level guides each run—
Clean filters for everyone.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 5.88% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: unified L4 pod selection through scene-test levels.
Description check ✅ Passed The description directly explains the scene-level migration, CLI filters, CI and documentation updates, and added tests.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

- Add SceneTestLevel and scene_level for shared level metadata
- Switch pod wrappers, CI, and docs to use level 4 selection
- Add unit coverage for level filtering and pod log gating
@ccyywwen
ccyywwen force-pushed the ci-l4pod-codeclean branch from 5ee7759 to b0990e9 Compare August 11, 2026 06:53
@ccyywwen
ccyywwen force-pushed the ci-l4pod-codeclean branch from b0990e9 to dbdb63f Compare August 11, 2026 08:35
@ChaoWao
ChaoWao merged commit 85a04b0 into hw-native-sys:main Aug 11, 2026
19 checks passed
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