DSH Plugin Migrate Bot
Version updated for https://github.com/royenheart/dsh-migrate-bot to version v0.1.3.
- This action is used across all versions by ? repositories.
Action Type
This is a Docker action.
Go to the GitHub Marketplace to find the latest changes.
Action Summary
This GitHub Action automates the migration of a third-party plugin by monitoring DeepSeek Harness releases. It runs on GitHub-hosted runners and uses a repository secret to authenticate with the API. The action resolves the target dsh-v* version, skips if it matches the last success version unless forced or watch.enabled is false. It performs mechanical tests, sparse-checkouts the harness tag, and reviews patches for compatibility. If the plugin tree is dirty, it creates an Issue and PR with links to patch reports and discussions.
What’s Changed
Highlights
Fix the publish crash that turned two consumer Actions red after a successful A+B review. Also ship the quota cap, harness checkout, per-patch reports, and Issue comments that were already in the pipeline but not released.
Consumers pinning royenheart/dsh-migrate-bot@v0 pick this up automatically. Re-run failed plugin jobs with workflow_dispatch and force: true.
Fixes
- Do not
git addignored.dsh-migrate. The Action writes.dsh-migrate/into.git/info/exclude, then usedgit add -A -- . :!.dsh-migrate. Git treats that exclude pathspec as an explicit path and exits 1 (The following paths are ignored by one of your .gitignore files). Staging is nowgit add -A -- ., then unstage migrate-noise paths. This is why mcp-support and structured-output failed aftermechanical after A+B: pass.
Added
- This-run USD cap.
quota.limitin.github/dsh-migrate.yml, Action inputquota_limit, or--quota-limit. Official DeepSeek rates × this Action’s own cache-miss / cache-hit / output tokens (peak/off-peak from each request timestamp). Not an account-wide spend cap. Officialis_availablestill aborts when the wallet is empty. - Harness sparse-checkout of the target
dsh-v*into.dsh-migrate/harnessso A/B/C can read official source, keep or drop a dsh-side patch, and test it. Not committed. - Per-patch reports at
.dsh-migrate/patch-reports/<slug>/report.md. Search official issues / PRs / discussions first; if none, write a discussion draft (# [Feature request] …plus the dsh-plugin-development sections). - Issue ↔ PR linking and comments. PR body includes
Closes #<issue>. After open, the Action comments on the Issue: companion PR URL, a patch-report index table, then each report body. - Status lines every ~10s (turns / steps / elapsed / cache hit-miss / in-out). Model text is not streamed to GHA logs.
Notes
.dsh-migrate/and.secrets.local.jsonnever count as a dirty plugin tree and are never committed. Upload.dsh-migrate/as an artifact.- Insufficient official balance or a this-run spend over the cap aborts without opening an Issue or PR.
- Failed persist of
dsh-migrate/statestill fails the job so the next schedule retries.
Full Changelog: https://github.com/royenheart/dsh-migrate-bot/compare/v0.1.2...v0.1.3