starbeamjs / starbeam

Fun and simple reactivity
Other
342 stars 16 forks source link

Change the ci.yml lint script to use turbo #131

Closed NullVoxPopuli closed 1 year ago

NullVoxPopuli commented 1 year ago

the previous script, ci:lint, takes over 6 minutes to run on C.I., and doesn't run at all on my laptop :sweat_smile:

The goal of this change is to:


Using turbo, logs are now grouped together under <details>-esque groups:

image


Lint: Baselines (main branch results)

Lint: This PR

The average case would then lint only the packages that have changed, which keeps CI as fast as it can be. This is why focusing on package-relative commands is so beneficial -- it allows caching per package, which enables to not do more work than we need to.


Typecheck: Baselines (main branch results)

Typecheck: This PR


A note on average / best cases -- more work needs to happen in https://github.com/starbeamjs/starbeam/pull/132 Because the turbo config is being dirtied more often than it should be. Likewise, we need to be sure still dirty when real things change. So I've added some debugging tips to CONTRIBUTING.md

stackblitz[bot] commented 1 year ago

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

NullVoxPopuli commented 1 year ago

Marking this as ready for review, though, I'd like to optimize the inputs, as tests directories are getting included for package inputs, and they need to be ignored:

This will be next, assuming turbo either fixes the issue, or tells me what I'm doing wrong :sweat_smile: https://github.com/starbeamjs/starbeam/pull/132