[PR #5964] Refactor test execution to use lage task runner #6239

Closed
opened 2026-02-28 21:25:41 -06:00 by GiteaMirror · 0 comments
Owner

Original Pull Request: https://github.com/actualbudget/actual/pull/5964

State: closed
Merged: Yes


This PR refactors the test execution infrastructure to use lage, a task runner for JavaScript monorepos.

It significantly improves the local dev-experience as well as makes them more performant by utilising local cache.

Additionally - this change makes the test output actually readable in CI/CD.

Screenshot 2025-10-19 at 21 29 07

Changes

  • Added: Configuration for lage task orchestration with support for , , and tasks
  • Updated: Modified test scripts to use lage instead of yarn workspaces foreach
    • yarn testlage test --verbose
    • yarn test:debuglage test --verbose --no-cache
  • Updated: Added documentation about lage and updated testing examples

Benefits

  • Parallel execution: Tests run in parallel across workspaces for faster feedback
  • Smart caching: Caches test results to skip unchanged packages (can be disabled with --no-cache)
  • Dependency awareness: Understands workspace dependencies and execution order
  • Better CI performance: Potential for faster CI runs with caching

Backward Compatibility

All existing yarn workspace <package> test commands continue to work as before. The lage integration is additive and doesn't break existing workflows.

**Original Pull Request:** https://github.com/actualbudget/actual/pull/5964 **State:** closed **Merged:** Yes --- This PR refactors the test execution infrastructure to use [lage](https://microsoft.github.io/lage/), a task runner for JavaScript monorepos. It significantly improves the local dev-experience as well as makes them more performant by utilising local cache. Additionally - this change makes the test output actually readable in CI/CD. <img width="539" height="283" alt="Screenshot 2025-10-19 at 21 29 07" src="https://github.com/user-attachments/assets/95a1b621-c4b4-41bf-bddc-8c5911d3f858" /> ## Changes - **Added**: Configuration for lage task orchestration with support for , , and tasks - **Updated**: Modified test scripts to use lage instead of `yarn workspaces foreach` - `yarn test` → `lage test --verbose` - `yarn test:debug` → `lage test --verbose --no-cache` - **Updated**: Added documentation about lage and updated testing examples ## Benefits - **Parallel execution**: Tests run in parallel across workspaces for faster feedback - **Smart caching**: Caches test results to skip unchanged packages (can be disabled with `--no-cache`) - **Dependency awareness**: Understands workspace dependencies and execution order - **Better CI performance**: Potential for faster CI runs with caching ## Backward Compatibility All existing `yarn workspace <package> test` commands continue to work as before. The lage integration is additive and doesn't break existing workflows.
GiteaMirror added the pull-request label 2026-02-28 21:25:41 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#6239