Skip to content

Releases: iiwish/dsh-testkit

DSH Testkit v0.3.1

Choose a tag to compare

@iiwish iiwish released this 15 Aug 17:37
d5a9ad0

DSH Testkit v0.3.1

This corrective release hardens v0.3.0 one-command adoption for real repository-root lifecycle runs.

Fixed

  • Registers Git source-resolution stdout/stderr logs as declared report artifacts, so strict output audits pass when the tested plugin source is a Git repository.
  • Parses the final npm pack --json result even when legitimate prepare or lifecycle scripts emit output first.
  • Keeps the parser fail-closed: invalid final pack metadata cannot fall back to package-controlled output.

Verified

  • 111 tests across 22 files, typecheck, coverage, contracts, bundle E2E, pack smoke, audit, and CodeQL.
  • Full Docker lifecycle passed against the root of the public dsh-plugin-template: package, install, assemble, boot, register, exercise, uninstall, reboot, and cleanup.
  • Built and published by GitHub Actions with npm Trusted Publishing and provenance.

The one-command onboarding introduced in v0.3.0 remains:

pnpm dlx dsh-testkit@0 init

See the README and Chinese README.

DSH Testkit v0.3.0

Choose a tag to compare

@iiwish iiwish released this 15 Aug 17:03
51e7594

One-command adoption

pnpm add -D dsh-testkit
pnpm dsh-test init
pnpm dsh-test

init works offline and creates a deterministic scenario, least-privilege lifecycle workflow, and project-local Agent Skill. It parses the declared DSH bundle patch, detects row IDs, remains byte-idempotent, and refuses conflicts or symlink paths before writing unless --force is explicit.

Agent Skill

The canonical dsh-testkit Skill ships at .agents/skills/dsh-testkit/SKILL.md, is exported from npm, and is registered by the native bundle when the optional DSH Skills service exists. It teaches coding agents to select and interpret the real-host lifecycle gate without weakening expectations or the Docker trust boundary.

Verified release

  • 108 unit, integration, and contract tests
  • 8 real DSH lifecycle fixtures
  • real native bundle, tool execution, and Skill discovery
  • clean packed-consumer install and generated adoption files
  • publint, actionlint, dependency audit, CodeQL, and protected-branch CI

The supported host remains exactly @deepseek-ai/dsh@0.1.0-rc.6. DSH Testkit is an independent, unofficial community project.

Full Changelog: v0.2.1...v0.3.0

DSH Testkit v0.2.1

Choose a tag to compare

@iiwish iiwish released this 15 Aug 14:41
a16da3e

Highlights

  • World-class English project entrypoint plus a parity-checked Simplified Chinese README
  • Clear positioning between real-host lifecycle testing, plugin doctor/preflight checks and composition checks
  • Warning-free optional DSH peers with runtime and declaration independence
  • Exact-version, credential-free community cohort validation with aggregate-only public reporting
  • Scheduled DSH release discovery and disposable real-host canaries

Ecosystem evidence

Ten exact public plugin versions completed Docker quick suites against DSH 0.1.0-rc.6. The aggregate was 2 passed and 8 failed; first failure stages were boot 5 and uninstall 3. This is environment-bound compatibility evidence, not a plugin ranking or security assessment. Named reports remain private pending independent reproduction and maintainer-ready evidence.

The evidence supports declarative prerequisite profiles as the next experiment, not arbitrary multi-plugin lifecycle orchestration.

Validation

The release passed 97 automated tests, eight real-host lifecycle cases, native DSH bundle E2E, packed-consumer verification, publint, actionlint, production dependency audit and CodeQL.

DSH Testkit v0.2.0

Choose a tag to compare

@iiwish iiwish released this 15 Aug 12:12
73e6058

DSH Testkit v0.2.0 adds a native DeepSeek Harness Profile Bundle without forking the lifecycle engine.

Highlights

  • Install with dsh plugin --profile <name> add dsh-testkit@0.2.0.
  • Registers the dsh_test tool through the official dsh.bundle.patch contract.
  • Forces Docker execution, constrains local paths to the active workspace, rejects credential-bearing URLs, and uses DSH pre-execution approval for agent calls.
  • Forwards cancellation through Docker image and runner subprocesses.
  • Adds real DSH install, registration, tool invocation, Docker lifecycle, removal, and packed-consumer gates.

The existing dsh-test CLI, GitHub Action, and v1 report contracts remain available. npm publication was produced by GitHub OIDC trusted publishing with SLSA provenance.

DSH Testkit v0.1.2

Choose a tag to compare

@iiwish iiwish released this 15 Aug 10:29
01d0a34

DSH Testkit v0.1.2 strengthens lifecycle reruns, contract compatibility, GitHub Action isolation, and the release supply chain.

Highlights

  • Add --case lifecycle-stage reruns with prefix execution, cleanup, report identity, and reproduction commands.
  • Validate v1 scenario/report compatibility against runtime and published JSON Schemas.
  • Declare explicit support for @deepseek-ai/dsh@0.1.0-rc.6.
  • Make composite Action output, check, and artifact identities safe for matrices and repeated calls.
  • Preserve complex Action arguments with args-json and expose artifact metadata outputs.
  • Publish through npm Trusted Publishing with SLSA provenance.

Install

npm install -D dsh-testkit@0.1.2

See CHANGELOG.md for the complete release notes.

DSH Testkit v0.1.1

Choose a tag to compare

@iiwish iiwish released this 15 Aug 09:12

First recommended public-preview release.

  • Fixes the composite GitHub Action on hosted runners by removing an invalid parent-traversing cache path.
  • Adds a release check that rejects this cache-path pattern.
  • Passes hosted validation, six real DSH fixtures, packed-consumer verification, and composite Action smoke testing.

Install with pnpm add -D dsh-testkit@0.1.1 or use iiwish/dsh-testkit/.github/actions/dsh-test@v0.

DSH Testkit v0.1.0

Choose a tag to compare

@iiwish iiwish released this 15 Aug 09:12

Initial public preview of DSH Testkit.

  • Real DSH install-to-recovery lifecycle execution in Docker or explicit unsafe-local mode.
  • Canonical JSON, JUnit, Markdown, and terminal reports with stable verdict exit codes.
  • Directory, tarball, exact npm, and full-commit Git subject inputs.
  • Content-aware filesystem, process, port, and canary observers.
  • Update, recovery, repeatability, and flaky-result classification.

The npm CLI package is usable. The composite GitHub Action in this immutable tag has a cache-path compatibility issue; Action consumers should use @v0 or @v0.1.1.