Skip to content

[not merge]ci: stop running a5 onboard jobs#1346

Open
doraemonmj wants to merge 1 commit into
hw-native-sys:mainfrom
doraemonmj:stop-a5-onboard-ci
Open

[not merge]ci: stop running a5 onboard jobs#1346
doraemonmj wants to merge 1 commit into
hw-native-sys:mainfrom
doraemonmj:stop-a5-onboard-ci

Conversation

@doraemonmj

Copy link
Copy Markdown
Contributor

What

Stop scheduling any CI on the self-hosted a5 (onboard) runner by removing
the two jobs that target [self-hosted, a5]:

  • ut-a5 — a5 hardware Python + C++ unit tests + cann-examples smokes
  • st-onboard-a5 — a5 hardware scene tests + DFX smokes (dep_gen / l2_swimlane / PMU / args_dump)

Why not the other a5 things

  • a5 sim stays. st-sim-a5 runs on github-hosted runners (no hardware) and is untouched — a5 keeps sim coverage.
  • detect-changes / a5_changed stays. It still gates st-sim-a5 and profiling-flags-smoke, so it is intentionally kept.
  • No a5 source touched. The change is confined to CI config (.github/workflows/ci.yml) plus the CI doc.

Docs

docs/ci.md updated to match the new job set: matrix table, job tree, job table, hardware-classification table, and the unconditional-UT / scheduling notes now reflect that a5 has no onboard jobs and is sim-only.

Nothing in the pipeline needs: the removed jobs, so no aggregation/gate job is affected. sanitizers.yml is sim-only and unchanged.

Remove the two self-hosted a5 (onboard) CI jobs, `ut-a5` and
`st-onboard-a5`, so nothing is scheduled on the `[self-hosted, a5]`
runner. a5 coverage remains through the sim job `st-sim-a5` on
github-hosted runners.

`detect-changes` keeps emitting `a5_changed` — it still gates
`st-sim-a5` and `profiling-flags-smoke`. No a5 source is touched.

docs/ci.md is updated to match the new job set.
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Changes

A5 CI Coverage Removal

Layer / File(s) Summary
Remove A5 hardware jobs
.github/workflows/ci.yml
Removes the ut-a5 and st-onboard-a5 hardware CI jobs, leaving the workflow to end after detect-changes.
Update CI coverage documentation
docs/ci.md
Updates job matrices, job descriptions, scheduling notes, and hardware classification to document simulation-only A5 coverage.

Estimated code review effort: 2 (Simple) | ~10 minutes

Poem

I’m a rabbit hopping through the CI,
A5 hardware jobs now say goodbye.
Sim tests remain in the moonlit flow,
While docs keep every runner in the know.
Hop, hop—clean matrices glow!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
Title check ✅ Passed The title clearly summarizes the main change: stopping a5 onboard CI jobs.
Description check ✅ Passed The description is directly related to the CI job removal and documentation updates.

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.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review

This pull request updates the CI documentation in docs/ci.md to reflect the removal of a5 self-hosted (onboard) jobs, indicating that a5 testing is now simulation-only. The review feedback points out a few remaining inconsistencies in the documentation that should be updated to match these changes, such as updating the gated jobs description and correcting the runner column for the Platform-specific (a5) tier.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread docs/ci.md
- `detect-changes` computes two flags (`a2a3_changed`, `a5_changed`) from the PR diff. Each flag is `false` only when *every* changed file is in the opposite platform's tree (`src/{arch}/`, `examples/{arch}/`, `tests/{st,ut/cpp}/{arch}/`) or in the `NON_CODE` set (`docs/`, `.docs/`, `.claude/`, `.gitignore`, `.pre-commit-config.yaml`, and any `*.md` file anywhere). Anything else — shared C++ (`src/common/`), Python (`python/`, `simpler_setup/`), build files (`CMakeLists.txt`, `pyproject.toml`), shared test infra (`tests/ut/py/`, `tests/lint/`), tooling (`tools/`), or workflow files (`.github/`) — flips both flags to `true`.
- **Gated jobs (scene tests only):** `st-sim-{a2a3,a5}`, `st-onboard-{a2a3,a5}` run iff their platform's flag is `true`.
- **Unconditional jobs (all UT):** `ut`, `ut-a2a3`, `ut-a5` always run regardless of the flags — unit tests exercise shared contracts (nanobind bindings, RuntimeBuilder, ring buffers, etc.) and the risk of silently skipping a regression outweighs the CI minutes saved. The `tests/ut/cpp/{arch}/` entry in the gating regex only *attributes* an arch-specific C++ UT change to that platform (so it does not spuriously flip the other arch's scene-test flag); it does not gate the UT jobs themselves. A consequence: self-hosted runners (`a2a3`, `a5`) are always busy for at least the UT job, even on doc-only PRs that skip all scene tests.
- **Unconditional jobs (all UT):** `ut`, `ut-a2a3` always run regardless of the flags — unit tests exercise shared contracts (nanobind bindings, RuntimeBuilder, ring buffers, etc.) and the risk of silently skipping a regression outweighs the CI minutes saved. The `tests/ut/cpp/{arch}/` entry in the gating regex only *attributes* an arch-specific C++ UT change to that platform (so it does not spuriously flip the other arch's scene-test flag); it does not gate the UT jobs themselves. A consequence: the `a2a3` self-hosted runner is always busy for at least the UT job, even on doc-only PRs that skip all scene tests.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

While updating the unconditional UT jobs description, please also update the gated jobs description in the preceding section. Since st-onboard-a5 has been removed, the gated onboard jobs only include st-onboard-a2a3 instead of st-onboard-{a2a3,a5}.

References
  1. Avoid referencing specific line numbers in documentation to prevent them from becoming stale as the codebase evolves. Instead, refer to the file name and the specific context or variable name, which provides sufficient precision without the risk of drifting.

Comment thread docs/ci.md
| No hardware | `ubuntu-latest` | `ut`, `st-sim-*` |
| Platform-specific (a2a3) | `[self-hosted, a2a3]` | `ut-a2a3`, `st-onboard-a2a3` |
| Platform-specific (a5) | `[self-hosted, a5]` | `ut-a5`, `st-onboard-a5` |
| Platform-specific (a5) | `[self-hosted, a5]` | *(no CI jobs; a5 is sim-only)* |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

Since all self-hosted a5 jobs (ut-a5 and st-onboard-a5) have been removed from the CI pipeline, there are no longer any CI jobs running on the [self-hosted, a5] runner. To avoid confusion, the CI Runner column for the Platform-specific (a5) tier should be updated to *(none)* or N/A.

Additionally, please note that the a5 row in the tests/ut/cpp/ table is also obsolete for CI and should be removed or updated accordingly.

Suggested change
| Platform-specific (a5) | `[self-hosted, a5]` | *(no CI jobs; a5 is sim-only)* |
| Platform-specific (a5) | *(none)* | *(no CI jobs; a5 is sim-only)* |
References
  1. Avoid referencing specific line numbers in documentation to prevent them from becoming stale as the codebase evolves. Instead, refer to the file name and the specific context or variable name, which provides sufficient precision without the risk of drifting.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/ci.md`:
- Line 132: Update the preceding scheduling bullet in docs/ci.md to remove
st-onboard-a5 and list only st-onboard-a2a3 for gated runs, keeping the
surrounding scheduling guidance unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ec37f585-47be-4eeb-ba6c-79de4b091e9d

📥 Commits

Reviewing files that changed from the base of the PR and between 1b67a55 and 05dbca1.

📒 Files selected for processing (2)
  • .github/workflows/ci.yml
  • docs/ci.md
💤 Files with no reviewable changes (1)
  • .github/workflows/ci.yml

Comment thread docs/ci.md
- `detect-changes` computes two flags (`a2a3_changed`, `a5_changed`) from the PR diff. Each flag is `false` only when *every* changed file is in the opposite platform's tree (`src/{arch}/`, `examples/{arch}/`, `tests/{st,ut/cpp}/{arch}/`) or in the `NON_CODE` set (`docs/`, `.docs/`, `.claude/`, `.gitignore`, `.pre-commit-config.yaml`, and any `*.md` file anywhere). Anything else — shared C++ (`src/common/`), Python (`python/`, `simpler_setup/`), build files (`CMakeLists.txt`, `pyproject.toml`), shared test infra (`tests/ut/py/`, `tests/lint/`), tooling (`tools/`), or workflow files (`.github/`) — flips both flags to `true`.
- **Gated jobs (scene tests only):** `st-sim-{a2a3,a5}`, `st-onboard-{a2a3,a5}` run iff their platform's flag is `true`.
- **Unconditional jobs (all UT):** `ut`, `ut-a2a3`, `ut-a5` always run regardless of the flags — unit tests exercise shared contracts (nanobind bindings, RuntimeBuilder, ring buffers, etc.) and the risk of silently skipping a regression outweighs the CI minutes saved. The `tests/ut/cpp/{arch}/` entry in the gating regex only *attributes* an arch-specific C++ UT change to that platform (so it does not spuriously flip the other arch's scene-test flag); it does not gate the UT jobs themselves. A consequence: self-hosted runners (`a2a3`, `a5`) are always busy for at least the UT job, even on doc-only PRs that skip all scene tests.
- **Unconditional jobs (all UT):** `ut`, `ut-a2a3` always run regardless of the flags — unit tests exercise shared contracts (nanobind bindings, RuntimeBuilder, ring buffers, etc.) and the risk of silently skipping a regression outweighs the CI minutes saved. The `tests/ut/cpp/{arch}/` entry in the gating regex only *attributes* an arch-specific C++ UT change to that platform (so it does not spuriously flip the other arch's scene-test flag); it does not gate the UT jobs themselves. A consequence: the `a2a3` self-hosted runner is always busy for at least the UT job, even on doc-only PRs that skip all scene tests.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Remove the stale st-onboard-a5 scheduling reference.

The preceding scheduling bullet on Line 131 still says st-onboard-{a2a3,a5} runs when gated, contradicting this PR’s removal of st-onboard-a5. Update it to list only st-onboard-a2a3.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/ci.md` at line 132, Update the preceding scheduling bullet in docs/ci.md
to remove st-onboard-a5 and list only st-onboard-a2a3 for gated runs, keeping
the surrounding scheduling guidance unchanged.

@doraemonmj doraemonmj changed the title ci: stop running a5 onboard jobs [not merge]ci: stop running a5 onboard jobs Jul 13, 2026
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.

1 participant