dsh-profile-web
用 Git 管理 dsh `web` profile 的配置:profile 只版本化 4 个配置文件,并提供一键安装脚本、CI 校验和自动化依赖更新。
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗只想提交配置改动时改用 git add ...
cd
git merge --ff-only profile- git push origin main # 需要发布时
`--ff-only` 失败说明 `main` 与 `profile-` 已分叉(例如 `main` 上有新提交)。先让 profile 分支基于最新 `main`,再快进:
```bash
cd ~/.dsh/profiles/
git fetch origin main
git rebase origin/main # 冲突时:git add -A && git rebase --continue
cd
git merge --ff-only profile-
把依赖升到最新(可选)
与自动化工作流做的事一致,在 profile 目录执行后按上面的流程提交:
cd ~/.dsh/profiles/
pnpm update --latest
dsh plugin --profile install
冲突处理
git status # 查看冲突文件
git add -A
git rebase --continue # 放弃本次更新:git rebase --abort
自动化
CI(.github/workflows/ci.yml)
| Job | 内容 |
|---|---|
lint | shellcheck install.sh、bash -n install.sh、prettier 检查 package.json 与 *.yml |
test-dsh | 以 DSH_HOME=/tmp/dsh-home 用 install.sh 做 worktree 安装(分支 ci-web)、--dump-config 校验组合结果、启动 web 并等待 boot token URL 出现、检查启动日志无错误 |
e2e | worktree 安装(分支 ci-e2e)+ Playwright/Chromium 跑 tests/e2e/smoke.spec.js:断言页面标题、可打开「设置」、本 profile 插件的设置分区已挂载,且无插件致命错误 |
本地复现 e2e
CI 的 e2e job 等价于下面两步(profile 已安装且依赖已装好)。本地跑用本机已安装的浏览器,不下载 Playwright 自带 Chromium: