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

Closed
opened 2026-04-23 13:29:41 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/5964
Author: @MatissJanis
Created: 10/19/2025
Status: Merged
Merged: 10/21/2025
Merged by: @MatissJanis

Base: masterHead: matiss/refactor-tests-use-lage


📝 Commits (10+)

  • e51ff57 Refactor test execution to use lage task runner
  • 843c84e [autofix.ci] apply automated fixes
  • 68b7b4c Enable progress reporter for lage commands
  • ead6c93 Fix: Configure progress reporter in lage.config.js
  • 797b915 Disable caching for e2e and vrt tasks
  • 3ae0d8d Add release notes for PR #5964
  • e038bc7 Optimize CI and test execution with lage improvements
  • 5f6404c Apply changes from worktree 1760887236410-155558
  • 6958d4e Refactor i18n: Extract languages constant to separate file
  • c74c2dd CI: Skip translation downloads in test job for faster execution

📊 Changes

29 files changed (+275 additions, -36 deletions)

View changed files

.cursor/worktrees.json (+3 -0)
📝 .github/actions/setup/action.yml (+10 -0)
📝 .github/workflows/build.yml (+6 -0)
📝 .github/workflows/check.yml (+8 -0)
📝 .github/workflows/e2e-test.yml (+4 -0)
📝 .gitignore (+3 -0)
📝 AGENTS.md (+62 -15)
lage.config.js (+30 -0)
📝 package.json (+3 -2)
📝 packages/api/package.json (+1 -1)
📝 packages/api/vitest.config.ts (+6 -0)
📝 packages/ci-actions/package.json (+1 -1)
📝 packages/ci-actions/vitest.config.mts (+5 -0)
📝 packages/component-library/package.json (+1 -1)
📝 packages/component-library/vitest.web.config.ts (+6 -0)
📝 packages/crdt/package.json (+1 -1)
📝 packages/desktop-client/package.json (+1 -1)
📝 packages/desktop-client/src/i18n.test.ts (+8 -0)
📝 packages/desktop-client/src/i18n.ts (+1 -1)
packages/desktop-client/src/languages.ts (+4 -0)

...and 9 more files

📄 Description

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.


🔄 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/actualbudget/actual/pull/5964 **Author:** [@MatissJanis](https://github.com/MatissJanis) **Created:** 10/19/2025 **Status:** ✅ Merged **Merged:** 10/21/2025 **Merged by:** [@MatissJanis](https://github.com/MatissJanis) **Base:** `master` ← **Head:** `matiss/refactor-tests-use-lage` --- ### 📝 Commits (10+) - [`e51ff57`](https://github.com/actualbudget/actual/commit/e51ff57f93a49ae6e858d1ef6ac957158ebedef7) Refactor test execution to use lage task runner - [`843c84e`](https://github.com/actualbudget/actual/commit/843c84e00e345df398fb70723d6f77d089d934d0) [autofix.ci] apply automated fixes - [`68b7b4c`](https://github.com/actualbudget/actual/commit/68b7b4c48e5abd596f2620e3c685905c31d185cc) Enable progress reporter for lage commands - [`ead6c93`](https://github.com/actualbudget/actual/commit/ead6c93f8333c31f421b7ef960ec0f88648e380e) Fix: Configure progress reporter in lage.config.js - [`797b915`](https://github.com/actualbudget/actual/commit/797b915638796b9eff31665531136db973717f17) Disable caching for e2e and vrt tasks - [`3ae0d8d`](https://github.com/actualbudget/actual/commit/3ae0d8db070990b8b9f12109a7b54a4e6c1c7766) Add release notes for PR #5964 - [`e038bc7`](https://github.com/actualbudget/actual/commit/e038bc73e60af4115053719a7fbd401f7b509996) Optimize CI and test execution with lage improvements - [`5f6404c`](https://github.com/actualbudget/actual/commit/5f6404cdd873a47b96ba366c3d8f8b8f80cb356a) Apply changes from worktree 1760887236410-155558 - [`6958d4e`](https://github.com/actualbudget/actual/commit/6958d4e3199ba532aa5091908176575a967509f2) Refactor i18n: Extract languages constant to separate file - [`c74c2dd`](https://github.com/actualbudget/actual/commit/c74c2ddc25f12480448645c075db8a01364b426b) CI: Skip translation downloads in test job for faster execution ### 📊 Changes **29 files changed** (+275 additions, -36 deletions) <details> <summary>View changed files</summary> ➕ `.cursor/worktrees.json` (+3 -0) 📝 `.github/actions/setup/action.yml` (+10 -0) 📝 `.github/workflows/build.yml` (+6 -0) 📝 `.github/workflows/check.yml` (+8 -0) 📝 `.github/workflows/e2e-test.yml` (+4 -0) 📝 `.gitignore` (+3 -0) 📝 `AGENTS.md` (+62 -15) ➕ `lage.config.js` (+30 -0) 📝 `package.json` (+3 -2) 📝 `packages/api/package.json` (+1 -1) 📝 `packages/api/vitest.config.ts` (+6 -0) 📝 `packages/ci-actions/package.json` (+1 -1) 📝 `packages/ci-actions/vitest.config.mts` (+5 -0) 📝 `packages/component-library/package.json` (+1 -1) 📝 `packages/component-library/vitest.web.config.ts` (+6 -0) 📝 `packages/crdt/package.json` (+1 -1) 📝 `packages/desktop-client/package.json` (+1 -1) 📝 `packages/desktop-client/src/i18n.test.ts` (+8 -0) 📝 `packages/desktop-client/src/i18n.ts` (+1 -1) ➕ `packages/desktop-client/src/languages.ts` (+4 -0) _...and 9 more files_ </details> ### 📄 Description 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. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-23 13:29:41 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#40670