[PR #413] [MERGED] build: streamline local and CI validation #1961

Closed
opened 2026-10-16 21:12:53 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/413
Author: @morluto
Created: 7/22/2026
Status: ✅ Merged
Merged: 7/22/2026
Merged by: @morluto

Base: main ← Head: codex/dx-followup


📝 Commits (1)

  • c08b9a7 build: streamline local and CI validation

📊 Changes

22 files changed (+305 additions, -220 deletions)

View changed files

📝 .github/workflows/ci.yml (+63 -51)
📝 .github/workflows/real-browser.yml (+7 -0)
📝 .github/workflows/real-ghidra-windows.yml (+3 -0)
📝 .github/workflows/real-hopper-linux.yml (+3 -0)
📝 .github/workflows/real-hopper.yml (+3 -0)
📝 .github/workflows/real-javascript-replay.yml (+7 -0)
📝 .github/workflows/release.yml (+3 -0)
📝 AGENTS.md (+8 -2)
📝 CONTRIBUTING.md (+24 -13)
📝 package.json (+39 -28)
➖ scripts/build-cache.mjs (+0 -103)
📝 scripts/generate-package-metadata.mjs (+0 -2)
➕ scripts/prepack.mjs (+55 -0)
➕ scripts/prepare.mjs (+28 -0)
➖ scripts/record-build-cache.mjs (+0 -7)
📝 scripts/verify-package-install.mjs (+12 -0)
📝 tests/identity.test.ts (+7 -5)
📝 tests/packageInstallWorkflow.test.ts (+6 -0)
📝 tests/vitestConfiguration.test.ts (+15 -1)
📝 tsconfig.build.json (+0 -2)

...and 2 more files

📄 Description

Description

Follow-up to #412. This removes remaining repeated work from the local loop and CI:

  • local tests run without coverage, retries, or verbose reporting; focused parallel, serial integration, and changed-file watch commands are available
  • CI owns coverage, retries, JUnit output, TypeDoc validation, and one consolidated static-check install
  • superseded PR workflow runs are canceled; package and Windows lanes skip documentation-only pull requests
  • deterministic verifier and packaging builds use Turbo, while environment-sensitive verifier execution remains uncached
  • the custom TypeScript build-cache scripts are removed so Turbo is the only build-cache owner
  • source and published-package lifecycle scripts now avoid requiring Turbo or Husky from production-only installs, and package verification proves an installed package can be repacked

The existing Typecheck, Lint (oxlint), and Format Check job names remain as explicit success proxies for the consolidated Static checks job. This prevents current branch protection from accepting skipped checks or blocking other pull requests during rollout. After this lands, branch protection can move to Static checks and Test (coverage + timing); the compatibility proxies can then be removed.

Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Performance improvement
  • Refactoring (no functional change)
  • Tool contract change (MCP schema modification)

Testing Performed

  • Unit tests added or updated
  • TypeScript typecheck passes (npm run typecheck)
  • Linting passes (npm run lint)
  • Full test suite passes (CI=true npm run test:ci; 1,227 tests)
  • Real Hopper verification performed (npm run verify:hopper)
  • Linux real Hopper verification performed (npm run verify:hopper:linux) or unavailability explained
  • Real browser verification performed (npm run verify:browser) or unavailability explained
  • Package verification performed (npm run verify:package)

Additional checks:

  • npm run check:ci
  • npm run docs:check (0 TypeDoc errors)
  • npm pack --dry-run --json
  • Action workflow lint for every changed workflow
  • direct uncached npm run build with a missing dist/

Tool Contract Impact

None. MCP schemas and the canonical tool inventory are unchanged.

Follow-up to #412.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/413 **Author:** [@morluto](https://github.com/morluto) **Created:** 7/22/2026 **Status:** ✅ Merged **Merged:** 7/22/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `codex/dx-followup` --- ### 📝 Commits (1) - [`c08b9a7`](https://github.com/morluto/rea/commit/c08b9a7d6c566e9ca46f1d594a82e4550aec4631) build: streamline local and CI validation ### 📊 Changes **22 files changed** (+305 additions, -220 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/ci.yml` (+63 -51) 📝 `.github/workflows/real-browser.yml` (+7 -0) 📝 `.github/workflows/real-ghidra-windows.yml` (+3 -0) 📝 `.github/workflows/real-hopper-linux.yml` (+3 -0) 📝 `.github/workflows/real-hopper.yml` (+3 -0) 📝 `.github/workflows/real-javascript-replay.yml` (+7 -0) 📝 `.github/workflows/release.yml` (+3 -0) 📝 `AGENTS.md` (+8 -2) 📝 `CONTRIBUTING.md` (+24 -13) 📝 `package.json` (+39 -28) ➖ `scripts/build-cache.mjs` (+0 -103) 📝 `scripts/generate-package-metadata.mjs` (+0 -2) ➕ `scripts/prepack.mjs` (+55 -0) ➕ `scripts/prepare.mjs` (+28 -0) ➖ `scripts/record-build-cache.mjs` (+0 -7) 📝 `scripts/verify-package-install.mjs` (+12 -0) 📝 `tests/identity.test.ts` (+7 -5) 📝 `tests/packageInstallWorkflow.test.ts` (+6 -0) 📝 `tests/vitestConfiguration.test.ts` (+15 -1) 📝 `tsconfig.build.json` (+0 -2) _...and 2 more files_ </details> ### 📄 Description ## Description Follow-up to #412. This removes remaining repeated work from the local loop and CI: - local tests run without coverage, retries, or verbose reporting; focused parallel, serial integration, and changed-file watch commands are available - CI owns coverage, retries, JUnit output, TypeDoc validation, and one consolidated static-check install - superseded PR workflow runs are canceled; package and Windows lanes skip documentation-only pull requests - deterministic verifier and packaging builds use Turbo, while environment-sensitive verifier execution remains uncached - the custom TypeScript build-cache scripts are removed so Turbo is the only build-cache owner - source and published-package lifecycle scripts now avoid requiring Turbo or Husky from production-only installs, and package verification proves an installed package can be repacked The existing Typecheck, Lint (oxlint), and Format Check job names remain as explicit success proxies for the consolidated Static checks job. This prevents current branch protection from accepting skipped checks or blocking other pull requests during rollout. After this lands, branch protection can move to Static checks and Test (coverage + timing); the compatibility proxies can then be removed. ## Type of Change - [ ] Bug fix - [ ] New feature - [x] Documentation update - [x] Performance improvement - [x] Refactoring (no functional change) - [ ] Tool contract change (MCP schema modification) ## Testing Performed - [x] Unit tests added or updated - [x] TypeScript typecheck passes (`npm run typecheck`) - [x] Linting passes (`npm run lint`) - [x] Full test suite passes (`CI=true npm run test:ci`; 1,227 tests) - [ ] Real Hopper verification performed (`npm run verify:hopper`) - [ ] Linux real Hopper verification performed (`npm run verify:hopper:linux`) or unavailability explained - [ ] Real browser verification performed (`npm run verify:browser`) or unavailability explained - [x] Package verification performed (`npm run verify:package`) Additional checks: - `npm run check:ci` - `npm run docs:check` (0 TypeDoc errors) - `npm pack --dry-run --json` - Action workflow lint for every changed workflow - direct uncached `npm run build` with a missing `dist/` ## Tool Contract Impact None. MCP schemas and the canonical tool inventory are unchanged. ## Related Issues Follow-up to #412. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-16 21:12:53 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#1961
No description provided.