Skip to content

Commit 9b742e7

Browse files
committed
Add main CI quality gate
1 parent b3f4b6c commit 9b742e7

3 files changed

Lines changed: 101 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
workflow_dispatch:
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
linux:
15+
name: Linux Checks
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
21+
- name: Install Rust
22+
uses: dtolnay/rust-toolchain@stable
23+
24+
- name: Install Node
25+
uses: actions/setup-node@v4
26+
with:
27+
node-version: "20"
28+
29+
- name: Format Check
30+
run: cargo fmt --check
31+
32+
- name: Library Tests
33+
run: cargo test --lib -- --test-threads=1
34+
35+
- name: Build Debug Binary
36+
run: cargo build --bin deepseek
37+
38+
- name: Secret Scan
39+
run: node scripts/check-secrets.js
40+
41+
- name: Demo Evidence Checks
42+
run: |
43+
bash -n docs/demo/record-model-backed-demo.sh
44+
docs/demo/record-model-backed-demo.sh --dry-run
45+
docs/demo/record-model-backed-demo.sh --redaction-self-test
46+
docs/demo/verify-model-backed-demo.js --self-test
47+
docs/demo/render-model-backed-demo-svg.js --self-test
48+
49+
- name: npm Metadata Checks
50+
run: |
51+
node npm/scripts/check-version-sync.js
52+
npm --prefix npm test
53+
54+
- name: npm Wrapper TUI Entrypoint Smoke
55+
env:
56+
DEEPSEEK_BINARY: target/debug/deepseek
57+
run: node npm/scripts/test-tui-entrypoint-wrapper.js
58+
59+
- name: Homebrew Formula Check
60+
run: node packaging/homebrew/verify-formula.js

docs/superpowers/plans/2026-05-10-deepseek-tui-parity.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,9 @@ checks now run the recorder dry-run, redaction self-test, verifier self-test,
155155
and model-backed SVG renderer self-test without requiring API credentials.
156156
Release packaging now also runs `node scripts/check-secrets.js`, a tracked-file
157157
secret scan that blocks committed `sk-...` style API tokens before publishing.
158+
Normal `main` pushes and pull requests now also run `.github/workflows/ci.yml`,
159+
a Linux CI gate covering Rust fmt/lib tests/build, secret scanning, demo
160+
evidence self-tests, npm metadata/wrapper smoke, and Homebrew formula checks.
158161
The largest remaining DeepSeek-TUI / Claude Code CLI / Codex CLI gaps are now:
159162

160163
- broader terminal/platform proof beyond the TTY-aware default TUI entrypoint,
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# DeepSeek-TUI Main CI Gate
2+
3+
**Status:** implemented
4+
**Comparison source:** `Hmbown/DeepSeek-TUI` refreshed at `/tmp/deepseek-tui-compare-20260514`, latest fetched `origin/main` `eeccf7d`.
5+
6+
## Gap
7+
8+
The repository had a release workflow for tags and manual dispatch, but normal
9+
`main` pushes and pull requests did not run a public CI gate. That left recent
10+
release-proof work dependent on local checks until the next tag workflow.
11+
12+
## Implementation
13+
14+
- Added `.github/workflows/ci.yml`.
15+
- The CI workflow runs on `main` pushes, pull requests, and manual dispatch.
16+
- Linux checks cover Rust formatting, library tests, debug `deepseek` build,
17+
secret scanning, model-demo recorder/verifier/renderer self-tests, npm
18+
metadata checks, npm wrapper TUI entrypoint smoke, and Homebrew formula
19+
validation.
20+
- The workflow keeps expensive release-only work such as Docker packaging,
21+
attestation, npm publishing, and tap publishing in the release matrix.
22+
23+
## Verification
24+
25+
- Local equivalents:
26+
- `cargo fmt --check`
27+
- `cargo test --lib -- --test-threads=1`
28+
- `cargo build --bin deepseek`
29+
- `node scripts/check-secrets.js`
30+
- `docs/demo/record-model-backed-demo.sh --dry-run`
31+
- `docs/demo/record-model-backed-demo.sh --redaction-self-test`
32+
- `docs/demo/verify-model-backed-demo.js --self-test`
33+
- `docs/demo/render-model-backed-demo-svg.js --self-test`
34+
- `node npm/scripts/check-version-sync.js`
35+
- `npm --prefix npm test`
36+
- `DEEPSEEK_BINARY=target/debug/deepseek node npm/scripts/test-tui-entrypoint-wrapper.js`
37+
- `node packaging/homebrew/verify-formula.js`
38+
- `git diff --check`

0 commit comments

Comments
 (0)