Files
bowenliang123 16ecd2af38 chore(compat): support the dsh 0.2.1 line
The plugin declared two supported dsh releases while the line it actually
runs on — 0.2.1 — was outside the matrix, so the seams the plugin rides were
never probed against it.

The 0.2.1 line continues the V4 Config-form generation with every seam spelled
as at 0.2.0-rc.2, so the baseline entry is the same with the two facts that
differ: the line vendors cordis 4.0.5, and it adds the `web-deepseek-api`
entry the balance fold falls back to. The compat matrix now runs the plugin
against that tag's real sources like any other line, and the workflows fetch
it.

The driver's staging follows the line: the values package grew a sibling
module its entry re-exports by relative path, so the entry is staged under its
own name and the sibling rides along.
2026-10-20 06:01:36 +08:00

65 lines
2.0 KiB
YAML

name: PR Checks
on:
pull_request:
permissions:
contents: read
concurrency:
group: pr-checks-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
pr-checks:
name: PR checks
runs-on: ubuntu-latest
environment: pr-checks
steps:
- uses: actions/checkout@v7
# No `packageManager` field in this plugin's package.json, so both
# workflows pin the version explicitly.
- uses: pnpm/action-setup@v6
with:
version: latest
- uses: actions/setup-node@v7
with:
node-version: '24'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build
run: pnpm run build
- name: Lint
run: pnpm run lint
- name: Typecheck
run: pnpm run typecheck
# The `compat` vitest project inside `pnpm test` boots the BUILT plugin
# against the REAL harness sources at every supported baseline tag
# (tests/baselines.ts is the source of truth — keep this fetch list in
# step when a baseline is added). It skips SILENTLY without the tags, so
# this fetch must sit BEFORE Test or a PR that breaks a seam goes green.
# Only the tags are fetched, so the clone stays shallow.
- name: Fetch the dsh baseline tags
run: |
mkdir -p .tmp/dsh-repo
cd .tmp/dsh-repo
git init -q
git remote add origin https://github.com/deepseek-ai/deepseek-harness.git
git fetch --depth 1 -q origin \
refs/tags/dsh-v0.1.7-rc.2:refs/tags/dsh-v0.1.7-rc.2 \
refs/tags/dsh-v0.2.0-rc.2:refs/tags/dsh-v0.2.0-rc.2 \
refs/tags/dsh-v0.2.1-rc.2:refs/tags/dsh-v0.2.1-rc.2
# `pnpm test` is the vitest run only: all three projects (host and client
# against src, compat against the BUILT plugin at each baseline tag) plus
# the per-file coverage thresholds. Typecheck is its own step above.
- name: Test
run: DSH_REPO="$PWD/.tmp/dsh-repo" pnpm test