Skip to content

ci: add Linux core qualification - #63

Merged
Lucas1479 merged 1 commit into
Code-Amadeus:mainfrom
necoarc08:ci/linux-core-qualification
Sep 9, 2026
Merged

Lucas1479 merged 1 commit into
Code-Amadeus:mainfrom
necoarc08:ci/linux-core-qualification

Conversation

@necoarc08

@necoarc08 necoarc08 commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

概述

Related to #64

为 Linux 增加第一阶段 Core CI qualification。

目前经过 Arch Linux + Wayland 实机验证,Amadeus 的 L1 Core / Backend、Electron build 和 Electron desktop 已经可以正常运行。

这个 PR 不引入新的 Linux runtime implementation,而是为当前已经能够工作的跨平台路径建立一个最小的 Linux regression baseline,避免后续修改在没有发现的情况下破坏 Linux 基础兼容性。

改动内容

新增:

.github/workflows/python-linux.yml

使用 GitHub-hosted:

ubuntu-24.04

环境版本与项目现有 CI 保持一致:

  • Python 3.12.10
  • uv 0.12.8
  • Node.js 22.21.1

当前 workflow 验证:

  • uv sync --locked --extra dev
  • ci environment verifier
  • L1 model-less dependency contract
  • Ruff
  • architecture view check
  • 与现有 macOS CI 对齐的 platform-safe contract test subset
  • Electron npm ci
  • Electron npm run build

Scope

这个 PR 有意保持较小范围。

当前不包含:

  • Voice / AEC
  • CPU VAD
  • CUDA / local-cu124
  • Electron GUI runtime
  • Wayland session
  • Wallpaper integration

其中 Voice / AEC 和 Linux NVIDIA dependency profile 会作为后续独立问题处理。

本 PR 也不会修改当前 Windows / macOS runtime 行为或现有平台支持范围。

验证

提交前已在 Arch Linux 实机环境完成对应检查:

  • environment verifier (--profile ci):通过
  • L1 model-less dependency assertion:通过
  • Ruff:通过
  • architecture view check:通过
  • platform-safe tests:通过(65 passed, 1 skipped)
  • Electron npm ci:通过
  • Electron npm run build:通过

GitHub-hosted Ubuntu qualification 将由本 PR 的 pull_request workflow 进行验证。

目的

这一步主要是把:

Linux Core / Electron build 当前可以工作

进一步固化为:

Linux Core / Electron build 有持续 CI regression protection

后续再基于 tracking Issue 中的计划逐步补充其他 Linux qualification。

@necoarc08 necoarc08 closed this Sep 8, 2026
@Code-Amadeus Code-Amadeus locked and limited conversation to collaborators Sep 8, 2026
@necoarc08
necoarc08 deleted the ci/linux-core-qualification branch September 8, 2026 14:22
@necoarc08
necoarc08 restored the ci/linux-core-qualification branch September 8, 2026 14:44
@Code-Amadeus Code-Amadeus unlocked this conversation Sep 8, 2026
@necoarc08 necoarc08 reopened this Sep 8, 2026

@Lucas1479 Lucas1479 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

感谢补上 Linux Core CI!改动范围清晰,Ubuntu 和现有平台检查均已通过,同意作为第一阶段 Linux 回归基线合并。

@Lucas1479
Lucas1479 merged commit c8f208f into Code-Amadeus:main Sep 9, 2026
12 checks passed
Lucas1479 added a commit that referenced this pull request Sep 9, 2026
## What and why

Following #63, the Chinese and English READMEs lack a Linux entry point.
Add matching experimental Linux sections with L1 installation, text-only
configuration, environment verification, and Electron/headless launch
commands. Distinguish Ubuntu CI coverage from community device reports
and document the remaining AEC, PyTorch profile, and desktop/wallpaper
limitations.

Related to #64; this documents the existing experiment without expanding
the supported platform baseline.

## Change class

- [x] Routine fix, documentation, test, maintenance, or
presentation-only UI
- [ ] Product-semantic or public-contract change discussed in the linked
Issue
- [ ] Isolated, default-off experiment

Owning layer: Chinese and English README setup and release-boundary
documentation.

User-visible effect: Linux readers can find an explicitly experimental
L1 setup path and its validation limits.

Compatibility or migration impact: none.

## Evidence

- `git diff --check` passed before commit.
- Reviewed both language versions for equivalent commands and scope.
- Checked commands and settings against
`.github/workflows/python-linux.yml`, `electron/package.json`, the
Electron Python discovery code, `.env.example`, and `pyproject.toml`.
- Documentation only; no new Linux GUI or hardware tests were run.
Existing Ubuntu CI evidence is linked through #63.

- [x] Documentation/examples are updated for changed settings or
contracts

## Final check

- [x] This PR addresses one coherent problem without unrelated cleanup
- [x] It does not add a speculative API, fallback, or compatibility path
- [x] No secrets, local state, model weights, voice material, or
restricted assets are included
- [x] Third-party notices and provenance are preserved
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