Skip to content

feat: Add Turborepo for incremental builds and intelligent caching#304

Merged
perasperaactual merged 1 commit into
devfrom
feat/turborepo-integration
Apr 5, 2026
Merged

feat: Add Turborepo for incremental builds and intelligent caching#304
perasperaactual merged 1 commit into
devfrom
feat/turborepo-integration

Conversation

@perasperaactual
Copy link
Copy Markdown
Contributor

Summary

This PR adds Turborepo to the Stackwright monorepo for incremental builds and intelligent CI caching.

Changes

  • turbo.json: Pipeline configuration defining build, test, dev, lint, and format tasks
  • .turboignore: Exclusion list for cache key generation
  • package.json: Added turbo scripts (turbo:build, turbo:test, etc.) and turbo dependency
  • .github/workflows/ci.yml: Added turbo caching to all build/test jobs
  • CLAUDE.md: Added Turborepo Commands section
  • CONTRIBUTING.md: Added Turborepo section
  • README.md: Added turbo tip in Getting Started

Benefits

  • Incremental builds: Only rebuilds packages that changed + their dependents
  • Intelligent caching: 126ms vs 13.7s on warm cache
  • Faster CI: Remote cache support for GitHub Actions
  • Dependency graph: Automatic topological ordering via ^build syntax

New Commands

pnpm turbo:build        # Build all packages (cached)
pnpm turbo:test         # Test all packages
pnpm turbo:dev          # Run dev on all packages
pnpm turbo:build:core   # Build specific package

Testing

Validated:

  • ✅ Incremental build correctly resolves dependency graph
  • ✅ Full build succeeds for all 14 packages
  • ✅ Test tasks depend on build tasks
  • ✅ Cache functional (warm runs are 100x faster)
  • ✅ All existing CI jobs pass

Closes #XXX

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 5, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
stackwright-docs Error Error Apr 5, 2026 6:47pm

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 5, 2026

✅ Visual Regression Test Results

Status: ✅ All visual tests passed!

All screenshots match the baseline. No visual regressions detected! 🎉

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 5, 2026

♿ Accessibility Test Results

Overall Status: ✅ 0/0 tests passed

🦮 WCAG 2.1 AA Compliance

No WCAG test results available

⌨️ Keyboard Navigation

No keyboard navigation test results available


⚠️ No accessibility tests were executed. Check the workflow logs for setup issues.

📊 Detailed Report

Download the full HTML accessibility report from the workflow artifacts for:

  • Detailed WCAG violation descriptions
  • Specific element selectors and fixes
  • Color contrast issues
  • Keyboard navigation flow analysis

🔍 Testing Checklist

Our accessibility tests verify:

  • ✅ WCAG 2.1 Level AA compliance
  • ✅ Color contrast in light and dark modes
  • ✅ Tab key navigation through all interactive elements
  • ✅ Focus indicators are visible
  • ✅ No keyboard traps
  • ✅ Skip links and ARIA landmarks
  • ✅ Screen reader compatibility

Powered by @axe-core/playwright and Playwright

@perasperaactual perasperaactual merged commit 9f4e463 into dev Apr 5, 2026
7 of 8 checks passed
@perasperaactual perasperaactual deleted the feat/turborepo-integration branch April 5, 2026 19:01
perasperaactual added a commit that referenced this pull request Apr 6, 2026
* refactor(otters): relocate to packages/otters/src/ for proper monorepo structure (#299)

* chore: bump prerelease versions [skip ci]

* chore: refresh prerelease mode after v0.7.0 release [skip ci]

* fix(ci): add push trigger to release workflow for main branch

* feat: add Turborepo for incremental builds and intelligent caching (#304)

* docs: add architecture principles and CI philosophy (#301)

* feat: add Turborepo for incremental builds and intelligent caching (#305)

---------

Co-authored-by: github-actions <github-actions@github.com>
perasperaactual added a commit that referenced this pull request Apr 7, 2026
* refactor(otters): relocate to packages/otters/src/ for proper monorepo structure (#299)

* chore: bump prerelease versions [skip ci]

* chore: refresh prerelease mode after v0.7.0 release [skip ci]

* fix(ci): add push trigger to release workflow for main branch

* feat: add Turborepo for incremental builds and intelligent caching (#304)

* docs: add architecture principles and CI philosophy (#301)

* feat: add Turborepo for incremental builds and intelligent caching (#305)

* fix: enable npm OIDC provenance and update branching docs

- Add provenance: true to setup-node in prerelease and release workflows
- Replace pnpm publish -r with npm publish --provenance loop
- npm publish supports native OIDC authentication
- Update CLAUDE.md and CONTRIBUTING.md to emphasize dev branch targeting

Aligns with pro repo publishing strategy.

* fix: merge duplicate env blocks in ci.yml

YAML doesn't allow duplicate keys at the same level.

* chore: clean up consumed changesets

Remove 27 stale changeset files that have already been applied
and update stackwright-docs package.json if needed

* chore: sync pnpm-lock.yaml with package.json

Regenerate lockfile to fix frozen-lockfile CI failure.

* fix: add missing react-dom dependency to stackwright-docs

The package.json was missing react-dom as an explicit dependency,
causing frozen-lockfile CI failures. Add it and regenerate lockfile.

* docs: update CLAUDE.md and CONTRIBUTING.md, add .turbo/ to gitignore (#307)

---------

Co-authored-by: github-actions <github-actions@github.com>
perasperaactual added a commit that referenced this pull request Apr 7, 2026
* refactor(otters): relocate to packages/otters/src/ for proper monorepo structure (#299)

* chore: bump prerelease versions [skip ci]

* chore: refresh prerelease mode after v0.7.0 release [skip ci]

* fix(ci): add push trigger to release workflow for main branch

* feat: add Turborepo for incremental builds and intelligent caching (#304)

* docs: add architecture principles and CI philosophy (#301)

* feat: add Turborepo for incremental builds and intelligent caching (#305)

* fix: enable npm OIDC provenance and update branching docs

- Add provenance: true to setup-node in prerelease and release workflows
- Replace pnpm publish -r with npm publish --provenance loop
- npm publish supports native OIDC authentication
- Update CLAUDE.md and CONTRIBUTING.md to emphasize dev branch targeting

Aligns with pro repo publishing strategy.

* fix: merge duplicate env blocks in ci.yml

YAML doesn't allow duplicate keys at the same level.

* chore: clean up consumed changesets

Remove 27 stale changeset files that have already been applied
and update stackwright-docs package.json if needed

* chore: sync pnpm-lock.yaml with package.json

Regenerate lockfile to fix frozen-lockfile CI failure.

* fix: add missing react-dom dependency to stackwright-docs

The package.json was missing react-dom as an explicit dependency,
causing frozen-lockfile CI failures. Add it and regenerate lockfile.

* docs: update CLAUDE.md and CONTRIBUTING.md, add .turbo/ to gitignore (#307)

* fix: exclude @stackwright/ui-shadcn from test commands (#309)

The ui-shadcn package has no test files (it's a thin adapter over Radix UI
+ Tailwind CSS). Excluding it from test commands prevents vitest from failing
with 'No test files found' error.

* fix: exclude examples from turbo lint in CI (#311)

Examples use 'next lint' instead of ESLint directly, causing CI to fail with:
  Invalid project directory: examples/stackwright-docs/lint

The lint task in CI was including all workspace packages (including examples)
via pnpm turbo:lint. Excluding examples from the lint task fixes this.

Closes #310

---------

Co-authored-by: github-actions <github-actions@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant