aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2024-04-19 16:04:57 +0100
committerChristian Clason <c.clason@uni-graz.at>2024-08-26 16:44:03 +0200
commit688b961d13bd54a14836f08c3ded3121d3fb15a0 (patch)
treeb201413b8616abc42283545b146fb1492d56b861 /.github/workflows
parent664de5ea971440f24e3e7e3618786d01fbca6025 (diff)
downloadrneovim-688b961d13bd54a14836f08c3ded3121d3fb15a0.tar.gz
rneovim-688b961d13bd54a14836f08c3ded3121d3fb15a0.tar.bz2
rneovim-688b961d13bd54a14836f08c3ded3121d3fb15a0.zip
feat(treesitter): add support for wasm parsers
Problem: Installing treesitter parser is hard (harder than climbing to heaven). Solution: Add optional support for wasm parsers with `wasmtime`. Notes: * Needs to be enabled by setting `ENABLE_WASMTIME` for tree-sitter and Neovim. Build with `make CMAKE_EXTRA_FLAGS=-DENABLE_WASMTIME=ON DEPS_CMAKE_FLAGS=-DENABLE_WASMTIME=ON` * Adds optional Rust (obviously) and C11 dependencies. * Wasmtime comes with a lot of features that can negatively affect Neovim performance due to library and symbol table size. Make sure to build with minimal features and full LTO. * To reduce re-compilation times, install `sccache` and build with `RUSTC_WRAPPER=<path/to/sccache> make ...`
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml15
1 files changed, 15 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a2316f3f0f..e77485210e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -21,6 +21,21 @@ env:
INSTALL_PREFIX: ${{ github.workspace }}/nvim-install
jobs:
+ wasmtime:
+ strategy:
+ fail-fast: false
+ matrix:
+ test: [ubuntu-latest, macos-latest, windows-latest]
+ runs-on: ${{ matrix.test }}
+ steps:
+ - uses: actions/checkout@v4
+ - uses: ./.github/actions/setup
+ - run: |
+ cmake -S cmake.deps --preset ci -D ENABLE_WASMTIME=ON
+ cmake --build .deps
+ cmake --preset ci -D ENABLE_WASMTIME=ON
+ cmake --build build
+
old-cmake:
name: Test oldest supported cmake
runs-on: ubuntu-latest