readmeio / rdme

ReadMe's official command-line interface (CLI) and GitHub Action 🌊
https://docs.readme.com/main/docs/rdme
MIT License
103 stars 42 forks source link

ci: vitest workspaces #998

Closed kanadgupta closed 4 months ago

kanadgupta commented 4 months ago

🧰 Changes

[!IMPORTANT] this continues to be a vitest supremacy account 😀

In this repo, we have tests that use process.chdir(), so we maintain a separate Vitest config for running those via a forks pool vs. the standard threads pool β€” see https://github.com/readmeio/rdme/pull/870 for more background on this.

We've used two separate npm scripts (i.e., npm run test:multi && npm run test:single) to run our tests sequentially. I discovered this morning that Vitest's workspaces feature isn't just for monorepos β€” it's actually the recommended way to maintain multiple test configurations no matter the context.

In this PR, I consolidated our two test configs into a single workspace config. We get a few nice benefits by leveraging workspaces:

🧬 QA & Testing

Do all the tests run? And do they still run and pass properly? Here's the latest test run in next for comparison: https://github.com/readmeio/rdme/actions/runs/8910638856

[^1]: Small downside to this β€” workspaces don't allow you to configure coverage options. Not a huge deal since our coverage is great in this repo and we can stick to the defaults and it still addresses our needs.