Will Lillis
1a2167b155
fix(ci): run generate crate unit tests
2025-07-06 17:05:21 -04:00
Max Brunsfeld
0fdf569571
Reorganize rust crates into a flat crates directory, simplify some CI steps ( #4496 )
...
* Move all rust crates (except lib) into crates dir, w/o nesting
* Remove stale path from .gitattributes
* Rename lib.rs files for easier navigation
* Rename mod.rs file for easier navigation
* Fix emscripten-version path
* Fix fixtures dir paths
* Use the default rustfmt settings
* Don't use nightly on CI
2025-06-06 14:25:37 -07:00
Simon Willshire
ee8d529552
fix(rust): use core crates for no_std
...
also add `no_std` build to CI
2025-03-25 14:30:32 +01:00
Antonin Décimo
f0571b1e33
feat: Windows support using MinGW-w64 ( #4201 )
...
Building tree-sitter on Windows within a Cygwin or MSYS2 environment
for MinGW-w64 targets should work. As there's no configure-like step,
the tools have to be specified with:
make CC=x86_64-w64-mingw32-gcc \
AR=x86_64-w64-mingw32-ar \
STRIP=x86_64-w64-mingw32-strip
Useful reference:
[How to build and use DLLs on Windows](https://nullprogram.com/blog/2021/05/31/ )
This commit doesn't tag public functions with dllexport or
dllimport. This results in exporting non-static functions visible
between translation units, and generating slightly less efficient code
for calling exported functions from the DLL.
This commit doesn't include support to build libtree-sitter with MSVC or
clang-cl, but generates a libtree-sitter.lib file for MSVC/clang-cl
consumers.
2025-02-12 16:31:06 -08:00
Amaan Qureshi
8e79929cb8
ci: remove benchmark step
...
We don't actually use this data, it runs without a purpose
2025-02-11 22:56:50 -05:00
Amaan Qureshi
0a33135483
ci: rename web files, and upload a tarball for web-tree-sitter assets
2025-02-11 22:56:50 -05:00
Amaan Qureshi
ac8a4ba80e
ci: use ubuntu-22.04 for x64 builds
2025-02-01 14:27:58 -05:00
Amaan Qureshi
aa900bf6ed
ci: go back to emulating linux arm64
...
These runners segfault when running basic rustc commands, we're not
using these till GH gets it together.
2025-01-25 03:20:43 -05:00
Amaan Qureshi
a4b20c1c56
feat: publish both CJS and ESM files
...
This way, users can pick whichever one works for their needs
2025-01-21 12:36:15 -05:00
Amaan Qureshi
a633a06bb4
ci: add arm ubuntu runner, & use latest runners
2025-01-19 22:13:09 -05:00
Amaan Qureshi
490f79bca2
ci: don't install cross if it already exists
2024-12-29 00:54:16 -05:00
Will Lillis
c7b218838d
fix: minor issues with CI
...
* update ctor
* pass empty `RUSTFLAGS` when installing cross, overriding
the default `-D warnings`
* fix some clippy lints
* create `target` directory before curling wasmtime lib
2024-12-03 16:41:38 -05:00
ObserverOfTime
60c5057617
ci: build lib with wasmtime
2024-10-19 02:57:08 +00: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
Amaan Qureshi
dbe8bbf480
feat: move scripts to xtasks
2024-10-08 21:07:41 -04:00
ObserverOfTime
055d0cbd34
feat(dsl)!: support other JS runtimes
2024-05-24 16:53:33 -04:00
ObserverOfTime
572cdaa7c0
ci: fix address sanitizer step
2024-05-05 13:06:45 -04:00
dundargoc
a1c39d4760
ci: simplify workflows
2024-03-16 19:54:54 -04: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
Amaan Qureshi
0afa891ffc
ci: use the native m1 mac runner
2024-02-11 01:59:56 -05:00
dundargoc
77d7843b7b
ci: remove minimum glibc information in summary page
...
It clutters up the page with unnecessary information. This information
can be provided as release notes or another form if needed.
2024-02-10 18:50:12 +01:00
dundargoc
c3ab70cc98
ci: rework release strategy
...
Switch the release trigger from PR to a git tag. In practice this would
mean tagging a commit in master branch and pushing it with
`git push --tags`.
The benefit of this is that tagging is already an event that is reserved
for maintainers, so we can remove the need for verifying whether the
event was done by a maintainer.
We also no longer need to keep track of the tag. Previously the trigger
was a PR which has a different ref from the tag, so manual bookkeeping
was required to ensure github used the tag reference instead of the PR
reference. Having the tagging itself be the trigger removes this need
entirely as the default checkout will already use the tag as reference.
2024-02-06 14:48:50 +01:00
dundargoc
9d8e31bf9f
ci: add timeout to build.yml
...
This will abort the run early if it gets caught in an infinite loop
during testing.
2024-02-05 23:19:36 +01:00
dundargoc
7b0b2464cd
ci: remove workflow_dispatch from build.yml
...
The cases where you'd need to manually run tests with specific
parameters should be rare.
2024-02-05 20:15:56 +01:00
dundargoc
fdd0e21041
ci: add caching to build.yml
2024-02-05 00:52:18 +01:00
Amaan Qureshi
dd2dc236c4
Merge pull request #2909 from tree-sitter/dependabot/github_actions/mymindstorm/setup-emsdk-14
...
ci: bump mymindstorm/setup-emsdk from 12 to 14
2024-02-04 13:24:03 -05:00
dundargoc
003521895d
ci(checks): use rust-cache action to cache dependencies
2024-02-04 17:31:14 +01:00
Amaan Qureshi
72a75326f7
Merge pull request #2910 from tree-sitter/dependabot/github_actions/actions/checkout-4
...
ci: bump actions/checkout from 3 to 4
2024-02-04 05:03:09 -05:00
dependabot[bot]
98f3ecc9d6
ci: bump mymindstorm/setup-emsdk from 12 to 14
...
Bumps [mymindstorm/setup-emsdk](https://github.com/mymindstorm/setup-emsdk ) from 12 to 14.
- [Release notes](https://github.com/mymindstorm/setup-emsdk/releases )
- [Commits](https://github.com/mymindstorm/setup-emsdk/compare/v12...v14 )
---
updated-dependencies:
- dependency-name: mymindstorm/setup-emsdk
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-02-04 10:03:00 +00:00
Amaan Qureshi
5478ced3b5
Merge pull request #2908 from tree-sitter/dependabot/github_actions/actions/upload-artifact-4
...
ci: bump actions/upload-artifact from 3 to 4
2024-02-04 05:02:05 -05:00
Amaan Qureshi
55afb4efaf
ci: remove unnecessary targets
2024-02-04 04:19:09 -05:00
dependabot[bot]
12b3567092
ci: bump actions/checkout from 3 to 4
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-02-04 03:23:58 +00:00
dependabot[bot]
1b333603c7
ci: bump actions/upload-artifact from 3 to 4
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-02-03 23:16:33 +00:00
Max Brunsfeld
bfb966e2e0
Enable wasm feature when running tests on CI
2023-12-31 10:06:03 -08:00
Max Brunsfeld
bd0796d11d
Remove mips targets from CI workflow
2023-11-24 20:06:36 -08:00
Max Brunsfeld
adb0e6958e
Only enable wasm feature on CI for supported architectures
2023-10-31 17:13:50 -07:00
Max Brunsfeld
f4e2f68f14
Merge branch 'master' into wasm-language
2023-10-27 12:11:43 +01:00
Andrew Hlynskyi
a91a6cc615
cicd: disable failed linux-riscv64gc target
...
Related issue #2712
2023-10-16 16:13:40 +03:00
Andrew Hlynskyi
5c5de9ca61
cicd: rename runtime to platform for better clarity
2023-08-25 17:36:03 +03:00
Andrew Hlynskyi
e985d0e743
cicd: pin rust toolchain to 1.71.1 for all mips targets
2023-08-25 17:36:03 +03:00
James McCoy
545ef842de
Remove -Werror from default CFLAGS
...
Production builds shouldn't include -Werror by default since that could
cause spurious build failures when there are toolchain updates.
CI uses -Werror to prevent warnings, so that should be sufficient.
2023-08-18 14:23:19 -04:00
Amaan Qureshi
77a8c56558
ci: add big-endian & some obscure architectures
2023-07-18 15:44:20 -04:00
Andrew Hlynskyi
e7a16ceb06
cicd: install Emscripten conditionally
2023-07-16 16:07:13 +03:00
Andrew Hlynskyi
6ab282b578
cicd: add armv7l target #1366#issuecomment-1503176694
2023-07-16 16:07:13 +03:00
Amaan Qureshi
c23ec2c3ae
ci: add more architectures
2023-07-16 05:14:11 -04:00
Andrew Hlynskyi
1f42f1efc0
cicd: show info about minimal required GLIBC version for CLI
2023-05-20 00:53:31 +03:00
Andrew Hlynskyi
3af763e4be
cicd: build - add a rust-test-threads number input parameter
2023-05-20 00:53:31 +03:00
Andrew Hlynskyi
fcbc3db1ab
cicd: build - add a run-tests input parameter
2023-05-19 23:40:34 +03:00
Andrew Hlynskyi
b41c678da6
cicd: rollback runner version to link against older GLIBC
2023-05-19 01:25:46 +03:00
Andrew Hlynskyi
ebd80906fb
cicd: a series of small improvements
2023-05-03 05:29:34 +03:00