Commit graph

10 commits

Author SHA1 Message Date
Max Brunsfeld 0e2af0d8d1
Allow using Tree-sitter rust lib in multi-threaded web apps compiled to wasm32-unknown-unknown (#5851)
* feat(wasm): make syntax trees sendable

* test(wasm): transfer trees across workers

* test(wasm): use JSON grammar for tree transfer

* test(wasm): edit trees across workers

* test(wasm): share dlmalloc with tree-sitter

* test(wasm): simplify worker tree exchange

* test(wasm): drive tree exchange from Rust

* test(wasm): split sendable-tree xtask

* test(wasm): generalize Rust web fixture

* test(wasm): exercise parallel Rust tree access

* fix(wasm): use Rust global allocator for C core

* test(wasm): use default Rust allocator

* feat(wasm): support external scanners in Rust web apps

* Simplify example further, add a readme

* Regenerate wasm-stdlib

* Fix wasm_stdlib check script

* Vendor the Wasm standard library subset

* Test Unicode Ruby scanner behavior in Wasm

* Make Wasm tree languages instance-aware

* Test multi-threaded use of queries in wasm32-unknown

* Refactor reference-counted language storage

* Check ABI version compat before loading rest of language

* 🎨 Remove redundant #ifdef block

* Reject unsupported Rust Wasm builds on 0.26
2026-08-14 17:05:42 -07:00
Will Lillis 15154504de fix(ci): include fixture lockfile in cache hash 2026-04-23 03:31:00 -04:00
Will Lillis 86d99e4f8e fix(ci): include wasi-sdk and binaryen version files in fixture cache
hash
2026-04-04 17:03:58 -04:00
Christian Clason 64698af1ac ci(actions): bump actions/cache to v5
Apparently dependabot doesn't cover the actions/cache/action.yml.
2026-04-01 01:35:49 -04:00
Will Lillis 4f8983b89f fix(ci): add wasm-stdlib.h to cache key 2026-01-27 10:25:43 +01:00
Amaan Qureshi db0d05fab3 ci: fix cache paths 2025-09-17 02:19:29 -04:00
Riley Bruins 86b507a842 ci: regenerate fixtures upon changes to parser.h, alloc.h, array.h
This makes sense because the files are moved to `src/tree_sitter` upon
generation
2025-01-05 00:14:09 -05:00
ObserverOfTime e8e56255bd ci: major overhaul
- Simplify some workflow steps and auxiliary scripts
- Build library using cmake when not cross-compiling
- Try to fetch fixtures from cache first
- Use `actions-rust-lang/setup-rust-toolchain`
2024-10-11 18:33:07 -04:00
dundargoc d54aa11cc3 ci: relax caching requirements
Specifically, ignore changes in workflow files. While it is technically
more correct to include them (as they may affect the caching), it is
unlikely.
2024-02-20 14:37:29 +01:00
dundargoc d4067a6ae6 ci: cache fixtures
Only generate fixtures if any grammar from any parser or the parser
generation itself has changed.
2024-02-18 23:08:24 +01:00