Repository navigation
ci: mount the bundle in the real dsh harness - #2
Conversation
CI installs @deepseek-ai/dsh@next, mounts the checkout on a throwaway profile, and fails unless that profile lists the required skills. Co-authored-by: Kaitian Xie <caelaxie@users.noreply.github.com>
|
local run of the same steps, on node v22.23.4. trimmed output: the exit 1 is the three skills that are not on this branch yet. poteto-mode and setup-pstack are in the pstack provider list. |
caelaxie
left a comment
There was a problem hiding this comment.
verdict: changes requested (comment review, same-account author).
shape is right: ci-only, no plugin content touched, and dsh plugin --profile ci add + dump-config + a booted skill listing is the proof dsh-pstack needs. but this can't merge yet.
- blocker: the new
Mount bundle in DSHjob fails by design on this head. your own local run endsmissing required pstack skills: deslop, control-cli, control-ui/PROVE_EXIT:1, and there is no embed pr or issue open in this repo. merging now turns main red. land the embed of deslop, control-cli and control-ui first (copied from upstream cursor-team-kit/, no team-kit mention anywhere), then rebase this onto main and show the harness job green on the rebased head. - pin the harness version (inline). a floating dist-tag makes the proof non-reproducible; droid ci already broke once on an unpinned cli.
- nit (inline): the header comment calls a deep file import a public export.
issue linkage: none needed for a ci-only pr, fine as is.
| set -euo pipefail | ||
| prefix="${RUNNER_TEMP}/dsh-prefix" | ||
| # npm dist-tag latest trails next. @next is the newest published runtime. | ||
| npm install -g --prefix "$prefix" pnpm@10 @deepseek-ai/dsh@next |
There was a problem hiding this comment.
pin the exact runtime the proof ran on: @deepseek-ai/dsh@0.2.1-rc.4 instead of @next. bump it in its own pr when dsh moves.
There was a problem hiding this comment.
pinned to @deepseek-ai/dsh@0.2.1-rc.4. the step comment says to bump it in its own pr.
| // Boot a profile that already ran `dsh plugin --profile <name> add <checkout>` | ||
| // and fail unless dsh-pstack's skill provider lists the required skills. | ||
| // There is no dsh flag that prints the skill catalog; `dsh --help` only offers | ||
| // plugin (pnpm) and --dump-config. This uses the public profile-boot export. |
There was a problem hiding this comment.
lib/profile-boot.js and the nested node_modules/@deepseek-ai/dsh-app-boot/lib/index.js are deep file paths, not package exports. say that plainly (e.g. "imports dsh's internal profile-boot module; tied to the pinned dsh version") so the next dsh bump knows where it breaks.
There was a problem hiding this comment.
reworded. it now says the script imports dsh's internal profile-boot files, tied to the pinned version.
The skill-list helper imports internal profile-boot files, so the workflow names that version instead of the next tag. Co-authored-by: Kaitian Xie <caelaxie@users.noreply.github.com>
caelaxie
left a comment
There was a problem hiding this comment.
verdict: still held (comment review, same-account author).
fixed on a166c77: dsh is pinned to @deepseek-ai/dsh@0.2.1-rc.4, and the header comment now says it's an internal import tied to the pin. good.
left: Mount bundle in DSH is red on this head, as expected without the embed. #3 just merged as e1d47bb, so rebase onto main and show the harness job green on the rebased head (it should list poteto-mode, setup-pstack, deslop, control-cli, control-ui). then this merges.
Pick up deslop, control-cli, and control-ui from the embed so the profile skill check can pass. Co-authored-by: Kaitian Xie <caelaxie@users.noreply.github.com>
|
merged main (e1d47bb) in. mount bundle in dsh is green on 46ba388. https://github.com/pstack-ports/dsh-pstack/actions/runs/40432239583 |
caelaxie
left a comment
There was a problem hiding this comment.
pass
- 46ba388 is merged up to main e1d47bb. dsh is pinned to exactly 0.2.1-rc.4 with no @next left, and the prove-dsh-profile.mjs comment now calls the import dsh's internal profile-boot module. only ci.yml and the proof script change.
- mount bundle in dsh is green in run 40432239583: dsh 0.2.1-rc.4 lists 61 pstack skills, including deslop, control-cli, control-ui, poteto-mode and setup-pstack, with nothing missing.
ci installs dsh 0.2.1-rc.4 (
@deepseek-ai/dsh@0.2.1-rc.4) and checks the bundle in the real harness.npm teststays. bump the pin in its own pr when dsh moves.the job runs
dsh plugin --profile ci add <checkout>, thendsh --profile ci --dump-config, and fails unless that dump has the dsh-pstack layer. it then boots the profile and fails unless the pstack provider lists poteto-mode, setup-pstack, deslop, control-cli, and control-ui.deslop, control-cli, and control-ui are not in this branch. merge this after the embed pr, or rebase onto it. the harness job stays red on those three until then.
no api token. dump and skill listing run offline. the skill list imports dsh's internal profile-boot files, so that import stays tied to this pin.