314 Commits
Author SHA1 Message Date
techflag cafa56fc76 ci: mark Desktop releases as latest 2026-09-26 21:25:16 +08:00
techflag 5cac25748c build: use one cross-platform Desktop release packaging script 2026-09-26 20:06:22 +08:00
techflag 2f30140796 ci: validate Desktop against same-commit Web release candidate 2026-09-26 19:52:59 +08:00
techflag beb5849f53 release: prepare SkillHub and DSH market desktop alpha 2026-09-26 19:49:41 +08:00
techflag de7b7b7248 ci: provision browser for Web integration tests 2026-09-26 11:23:51 +08:00
techflag a7fae50f12 build: trim packaged declarations and report desktop footprint 2026-09-26 11:18:35 +08:00
techflag 0cc46cb9dd ci: keep main as the only long-lived release branch 2026-09-26 10:59:01 +08:00
techflag e65de70dd9 ci: keep web source checks out of desktop release 2026-09-26 10:50:30 +08:00
techflag 272de02a0d Fix CI scope detection under pipefail 2026-09-26 10:48:36 +08:00
techflag 04eb18284c Integrate Web workspace and enforce one DSH version 2026-09-26 10:41:02 +08:00
techflag 0a181b0a3d ci: separate macOS runtime preparation from DMG packaging 2026-09-26 00:52:17 +08:00
techflag f387dc7294 ci: remove deleted Market prototype checks 2026-09-25 21:47:18 +08:00
techflag 12100cd2ea Remove standalone SSH plugin and workflows 2026-09-25 20:41:33 +08:00
techflag fbee96acc8 Retire duplicate Beta Desktop workspace 2026-09-25 20:41:33 +08:00
techflag 34101722f1 feat(desktop): package WorkDSH web alpha.11 2026-09-25 07:55:06 +08:00
techflag d1712f3421 ci(desktop): bound and isolate Windows runtime preparation 2026-09-25 04:22:41 +08:00
techflag 8bf05b9727 feat(desktop): bundle rc.2 official runtime for release builds 2026-09-25 01:11:09 +08:00
techflag 82d85813b4 ci(desktop): publish one Windows installer and two Mac DMGs 2026-09-24 10:40:57 +08:00
techflag 211acd9214 ci(desktop): publish stable installers only 2026-09-24 10:39:38 +08:00
techflag 9330b87156 build(desktop): package separate macOS x64 and arm64 DMGs 2026-09-24 10:35:31 +08:00
techflag 5eb58c0637 ci: describe bundled WorkDSH desktop runtime 2026-09-23 18:36:01 +08:00
techflag 9681c1e316 ci: publish desktop prerelease assets 2026-09-23 15:15:35 +08:00
techflag 9873675e54 ci: classify desktop release tags as product builds 2026-09-23 14:32:00 +08:00
techflag 93ed12d2a7 release: prepare WorkDSH desktop alpha 2026-09-23 14:25:23 +08:00
techflag a95a3a4953 ci: upload Windows desktop artifacts 2026-09-23 14:08:54 +08:00
techflag d23451a5e2 feat: complete ssh host conversation workflow 2026-09-15 19:59:59 +08:00
techflag 8947867f6d feat: checkpoint installable SSH workbench beta.10 2026-09-08 14:34:05 +08:00
techflag faac235783 feat: checkpoint functional SSH workbench before standalone plugin extraction 2026-09-08 12:41:04 +08:00
xipian-air 2bd36a9d0f ci: checkout pull request head for pinned submodule 2026-09-05 15:02:31 +08:00
xipian-air 964b838c82 feat(release): maintain stable and beta desktop packages 2026-09-02 15:07:59 +08:00
xipian-air 42e1f7b443 refactor(beta): isolate desktop distribution identity 2026-09-02 13:49:00 +08:00
ZP 80e01ed123 Revert "build: add macOS and Linux release artifacts"
This reverts commit cf5e4a2cc3.
2026-08-23 11:29:14 +08:00
ZP cf5e4a2cc3 build: add macOS and Linux release artifacts 2026-08-23 03:53:29 +08:00
Qiu 117c5d65f5 ci: focus native package gates
Run native package jobs through platform-focused preflights instead of repeating the full root check.
2026-08-21 21:47:08 +08:00
Qiuner 944f92302c ci(architecture): enforce Market dependency direction 2026-08-19 23:42:38 +08:00
Qiuner 40ee9140c2 ci(docs): validate all bilingual records 2026-08-19 23:42:38 +08:00
Qiuner 1f6c7de347 ci: reuse shared gate for native packaging 2026-08-19 01:12:38 +08:00
Qiuner 00fefa38d6 ci: skip product gates for documentation changes 2026-08-19 00:56:17 +08:00
Qiuner dd8bca8834 ci(desktop): verify Windows portable packaging 2026-08-18 13:19:49 +08:00
Qiuner 649c97f358 ci: run full gates only for master changes 2026-08-17 21:25:53 +08:00
Qiuner 404c710066 ci: verify market on native desktop runners 2026-08-17 16:22:13 +08:00
t4we fan e2db7d4e4b ci(mac): add universal DMG packaging smoke 2026-08-17 12:58:11 +08:00
Qiuner a5dd0d93fd fix(ci): build and verify the Windows installer
The Windows job previously stopped at mocked packaging orchestration, so invalid electron-builder configuration went undetected. Run the real dist:win entrypoint, place the notice file under the NSIS config, and exercise native volume and junction behavior on Windows.
2026-08-16 21:35:50 +08:00
t4we fan 51ac851a14 ci: restore GitHub Actions gates and add Windows desktop checks
Restore the disabled workflow as the product gate and extend it:
- check (ubuntu): full yarn check with Yarn berry cache, plus manual
  workflow_dispatch and per-ref concurrency cancel.
- desktop-windows (windows): run check:win-package so Windows-only
  packaging, update, window, pwsh sandbox, and volume-diagnostics tests
  exercise a real Windows runner.
- upstream-command-windows: keep the pinned-submodule toolchain smoke
  (check:layout + upstream:version).

The platform-dependent pwsh test regression (fixed in 4b5e0255c8) is
exactly the class of failure this CI now catches before merge.
2026-08-16 19:01:28 +08:00
t4we fan a036eea870 chore(ci): disable GitHub Actions workflow 2026-08-15 18:59:25 +08:00
t4we fan 4e3eb911fd refactor(repo): isolate upstream and desktop workspace 2026-08-15 01:07:13 +08:00
Chinesezjc 65f679b33a ci: split failover switch into per-platform Linux and Windows variables
Replace the single DSH_CI_FAILOVER variable with two independent
switches so an outage on one platform no longer retargets the other:

- DSH_CI_FAILOVER_LINUX: the three required Linux workers (node-24,
  node-24-coverage, node-24-consumers) and the all-checks-passed verdict,
  which resolves its pool to vm-backup and keeps its concurrency and
  cache-restore branches.
- DSH_CI_FAILOVER_WINDOWS: the non-blocking windows-native job, which
  resolves to the dsh-win-ci pool.

all-checks-passed rides the Linux switch because it aggregates the
required Linux workers and runs on the vm-backup pool. The Dependabot
exclusion is preserved on both switches. The failover runbook (EN/ZH)
and its translation pairing, plus the docs that referenced the old
variable, are updated in the same change.
2026-08-13 16:54:57 +08:00
imccyu 8d6f5164ab fix(release): make publication retry, space out, and skip what landed
A landlock publication failed with `E409 Failed to save packument` on the
second of three packages. The registry answers a write it could not commit that
way, and publishing several packages back to back is what provokes it.

Neither publish path could recover. The native sequence published from a shell
loop of bare `npm publish` calls: no retry, and no way to resume, because the
registry rejects a repeat of an existing version permanently — so a failure
partway through left the release stuck. publish.ts skipped versions already
present, which made a re-run safe, but had no retry either.

Both paths now attempt a tarball up to four times, space writes at least two
seconds apart, and back off 2s/4s/8s between attempts. Every retry re-reads the
registry first, because a reported failure can answer a write that landed
anyway: a version that now exists with this tarball's integrity counts as
published rather than as one to place again. That same re-read is what turns a
mid-run `E403 cannot publish over the previously published versions` into a
skip when the bytes match, and leaves it a hard failure when they do not.

The native sequence gets the registry comparison publish.ts already had, through
its own script rather than shared code — the two sequences keep separate
publication paths. Its publish job now checks out the repository, which the
shell loop did not need.

Verified against a scripted registry: a clean publish, one E409 then success, an
E409 whose write landed anyway, E409 on every attempt (fails after four), and a
version already present with matching integrity (publishes nothing).
2026-08-13 15:31:09 +08:00
imccyu a213befd0f build(release): publish the vendored framework and the native packages publicly
The three release sequences shipped with publishConfig.access: restricted, so
nothing in the @deepseek-ai scope was installable from outside the organization.

A restricted dependency is what actually blocks a public consumer: every harness
package declares the vendored framework as a peerDependency, and
dsh-sandbox-local declares the Landlock entry as a dependency. Those two
sequences therefore go public first — the nine vendor/* packages and the three
native/landlock-run packages — while the dsh family stays restricted until its
own sequence is opened deliberately. No public package requires a restricted one
in this arrangement.

Access is now per sequence, so no publish path can pass --access: one flag
cannot express two levels and would override the manifest that owns the fact.
publish.ts stops passing it, matching the native workflow, and
check-workspace-constraints holds each manifest to its own sequence's level,
which is what stops the scope from drifting one package at a time.

Harness consumers reference the Landlock entry as workspace:^ instead of
workspace:*, so a published harness package accepts the entry's patch and minor
releases. The entry keeps workspace:* for its platform packages, where the
binary must match the entry version exactly.

Two rationales that named a private registry no longer describe the vendored
sequence; they now state the durable reason, which is that the verification must
not depend on the registry already carrying matching versions.
2026-08-13 14:05:48 +08:00
Tianyi Cui a2d0f7f411 refactor: apply repository naming contract
Apply the accepted pre-release package, service, type, directory, and role renames as one repository-wide change.
2026-08-13 00:54:38 +08:00