Skip to content

ci: speed it up#5322

Merged
amaanq merged 8 commits intotree-sitter:masterfrom
amaanq:ci-cleanup
Feb 10, 2026
Merged

ci: speed it up#5322
amaanq merged 8 commits intotree-sitter:masterfrom
amaanq:ci-cleanup

Conversation

@amaanq
Copy link
Member

@amaanq amaanq commented Feb 10, 2026

Problem

Our CI has some inefficients and can be sped up.

Solution

I've made a bunch of small changes in our CI to reduce our CI times by over 50% ideally.

  • We don't need to run wasm tests on macos-x86 or linux-arm64, they are slow platforms
  • Wasmtime provides pre-built c api libraries for us, which saves a lot of time
  • setup-emsdk can be cached, unfortunately this isn't doable with the action so I got rid of it in favor of a few extra lines of yaml
  • MSYS2 doesn't need to run updates, the runners already have pretty up to date packages to begin with
  • We don't need to run the cargo build --release step, binary uploads are only used during releases so we gate this behind that
  • cargo clippy already does what cargo check does, so we can drop that invocation in the makefile
  • We can cache our npm packages for the web bindings

This makes our CI blazingly fast ⚡!

@amaanq amaanq changed the title ci: only run wasm tests on linux x64 and mac arm64 ci: speed it up Feb 10, 2026
@amaanq amaanq merged commit 9a78267 into tree-sitter:master Feb 10, 2026
16 checks passed
@tree-sitter-ci-bot
Copy link

Backport failed for release-0.26, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally and resolve any conflicts.

git fetch origin release-0.26
git worktree add -d .worktree/backport-5322-to-release-0.26 origin/release-0.26
cd .worktree/backport-5322-to-release-0.26
git switch --create backport-5322-to-release-0.26
git cherry-pick -x 4eefcef0fc94ece7f0b9e7180de4d911929fcf64 68b6020e8e96058b14f4fb19343c7119bc917e47 8b72e64c3cc088a27543716a112dff350d28e506 ad2f2ae76db92b5a8d719af4ae3d902dca2182be b1b0ef9238f861040f87796e5b86d592832fd551 e7389ccc2a6c37ebf298073a72d4a2b2b83f6a11 a91efd56f8da7c09072b32d96f4335b4d08e93f9 9a78267a7b9a104a148e2c0e19608e3e64a49791

@WillLillis WillLillis mentioned this pull request Feb 10, 2026
@clason
Copy link
Contributor

clason commented Feb 10, 2026

Don't forget that we can use native runners instead of emulation for some platforms now (linux-arm64 being one, so it will be blazingly fast by itself).

@clason
Copy link
Contributor

clason commented Feb 10, 2026

And if CI is really so fast now, we should consider running them unconditionally so we can mark them as required (and thus can use automerge).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants