Skip to content

Support serverless SDK plugin indexes and GitHub Release installation - #304

Merged
BernardXiong merged 5 commits into
masterfrom
feature/sdk-plugin-index
Nov 5, 2026
Merged

BernardXiong merged 5 commits into
masterfrom
feature/sdk-plugin-index

Conversation

@BernardXiong

@BernardXiong BernardXiong commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Default to the local SDK env-plugins JSON catalog when no explicit HTTP market is configured; preserve environment-variable and saved HTTP-market precedence.
  • Resolve the highest compatible non-yanked artifact and download GitHub Release epacks using restricted HTTPS redirects, SHA-256 and size checks.
  • Reuse existing package validation, unsigned-install consent, and transactional install/upgrade workflows; expose the SDK source in CLI and WebUI.
  • Document the JSON catalog and publishing workflow in English and Chinese.
  • Add CI for the full Python suite on Linux 3.10/3.12, SDK/HTTP market regression on Windows, and WebUI type checks, unit tests, deterministic assets and Chromium workflows.

Verification

  • Local full Python suite, with isolated ENV_ROOT and no excluded tests: 350 passed, 2 skipped, 136 subtests passed.
  • Frontend type check and production build passed; 30 frontend unit tests passed.
  • Verified the committed Vue source reproduces the committed production JavaScript.
  • Clean committed checkout: full Python regression passed after building the bundled epack; 17 Chromium SDK catalog and WebUI workflow tests passed.
  • Real unauthenticated SDK Release download and isolated Kconfig 0.1.34 installation/backend/configuration smoke tests passed in the related SDK publication task.
  • SDK catalog and first plugin release are published through Publish Kconfig as the first Env SDK plugin sdk#11.

Scope and Review

  • Commits separate implementation, tests, CI, and documentation.
  • Existing unrelated iframe popup-permission changes remain uncommitted locally and are not part of this PR.
  • Do not merge automatically. Wait for all CI jobs and human review before merging.

Read SDK JSON indexes, resolve compatible releases and verify HTTPS downloads while preserving explicit HTTP markets and unsigned-install consent.
Cover catalog validation, release redirects, checksums, ABI resolution and install/upgrade behavior, plus desktop and mobile catalog workflows.
Check Python on Linux, SDK and market workflows on Windows, and frontend types, assets and Chromium workflows with read-only CI permissions.
Describe index structure, market precedence, safe downloads and serverless publication in English and Chinese.
Prepare the official plugin artifact from a clean checkout before installing Env and running wheel resource assertions.
@BernardXiong

Copy link
Copy Markdown
Member Author

验证完成,当前提交 bc3e8c0 的 push / pull_request 两轮 CI 共 8 项检查全部通过:

  • Linux Python 3.10 / 3.12:完整 Python 回归通过。
  • Windows:SDK 索引、HTTP 市场、CLI 与 epack 回归通过。
  • WebUI:类型检查、30 项单元测试、生产构建与静态产物一致性检查,以及 17 项 Chromium 端到端测试通过。
  • 已修复干净检出中缺少内置 epack 构建产物的 CI 准备问题,未跳过失败测试。

CI 记录:

PR 保持打开,未启用自动合并,等待人工审核后合并。

@BernardXiong
BernardXiong merged commit c8cdc9a into master Nov 5, 2026
8 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.

1 participant