Commit graph

84 commits

Author SHA1 Message Date
Adam Satko
62f4713780
Fix stdc atomics detection and add vs2019 msvc job 2024-10-22 20:02:15 +02:00
Ben Noordhuis
e21d09c347
Remove macos-12 buildbots (#604)
GitHub is deprecating and removing them. We also test macos-14 so I
opted to remove the buildbots instead of upgrading them to a newer
macOS version.
2024-10-20 13:06:18 +02:00
Ben Noordhuis
bed51fab0a
Allow turning on multiple sanitizers (#611)
Consolidate the ASan and UBSan buildbots and turn on both sanitizers
when fuzzing.
2024-10-20 12:41:17 +02:00
Ben Noordhuis
e4406fa55f
Remove NetBSD CI buildbot (#603)
It's been super flaky due to GHA changes or the vmactions/netbsd-vm@v1
action it depends on, and I'm not invested enough to investigate.

If someone is motivated enough to fix it up, we can bring it back.

Fixes: https://github.com/quickjs-ng/quickjs/issues/600
2024-10-16 23:08:48 +02:00
Saúl Ibarra Corretgé
e204fa53a3 Fix CI for setup-alpine
Ref: https://github.com/jirutka/setup-alpine/issues/15
2024-10-15 14:52:40 +02:00
Ben Noordhuis
b9be6d4ff2 Run local tests with run-test262 2024-10-10 21:52:34 +02:00
Saúl Ibarra Corretgé
a51c77efd8
Build all Windows targets when building in CI 2024-10-08 16:58:08 +02:00
Ben Noordhuis
ddabcf5e93
Run ThreadSanitizer on push to master (#575)
Fixes: https://github.com/quickjs-ng/quickjs/issues/557
2024-10-06 20:17:50 +02:00
Saúl Ibarra Corretgé
7e82ad80c1 Don't run ci and valgrind for non-code changes when pushing to master 2024-09-25 22:32:25 +02:00
Saúl Ibarra Corretgé
7cfedb0952
New documentation website 2024-09-25 22:21:45 +02:00
Saúl Ibarra Corretgé
c963112349 Fix use of js_malloc_usable_size
Make sure the one set in the malloc functions is used rather than the
default one, since it will likely use a different allocator.

For some reason, this didn't cause a problem on macOS, but it does in
Linux. Opsie! Added some CI to prevent these kinds of bugs.
2024-09-24 18:36:23 +02:00
Saúl Ibarra Corretgé
6dd2ce308a Fix JS_DetectModule if the first statement is an await 2024-09-10 23:12:21 +02:00
zeromake
902cc2cf0e
Add native module support on Windows 2024-09-10 22:47:40 +02:00
Saúl Ibarra Corretgé
ada24f33f3
Make a RelWithDebInfo build when testing with ASAN in the CI
Traces should be more useful if we keep debug data in.
2024-09-10 22:19:36 +02:00
Ben Noordhuis
408fed8fa5
Update test262 (#484)
test262/implementation-contributed/v8/mjsunit was removed upstream in
commit tc39/test262@a15874163e so this
commit also removes the v8 test runner; it's no longer functional.
2024-08-21 23:36:09 +02:00
Ben Noordhuis
5a50ce3b08
Export bjson module (#478)
I find it convenient to have access to JS_ReadObject and JS_WriteObject
from JS land. That's precisely the functionality that tests/bjson.c
provides, ergo, move it into quickjs-libc.c
2024-08-11 11:04:08 +02:00
Saúl Ibarra Corretgé
f9d1029ea3 Fix Linux with GCC 4.8 CI
Complains in the post-ckeckout step:

```
 Post job cleanup.
/usr/bin/docker exec  f32fc88d37a181d710e2802cbad0646c9780efe4af35a093fe68d09d8201a74e sh -c "cat /etc/*release | grep ^ID"
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
```
2024-07-12 16:42:00 +02:00
Andrew Johnson
76f99007f7 Reduce duplication in Linux and MacOS CI file, improve flexibility 2024-07-03 09:52:00 +02:00
Saúl Ibarra Corretgé
2ea0848616 Add CI for Windows x86 + MSVC 2024-06-17 09:59:46 +02:00
Saúl Ibarra Corretgé
e1e8112f98 Fix uploading all built artifacts to a release 2024-06-07 22:25:01 +02:00
Saúl Ibarra Corretgé
a4e48a6a65
Add riscv64 builds to CI 2024-06-07 08:29:50 +02:00
Saúl Ibarra Corretgé
1746ab8e28 Make Linux aarch64 binaries on release too
Fixes: https://github.com/quickjs-ng/quickjs/discussions/417
2024-05-30 09:01:56 +02:00
Saúl Ibarra Corretgé
840ce4e719 Make sure repos are updated before installing valgrind in CI 2024-04-23 19:54:12 +02:00
Saúl Ibarra Corretgé
38f9e429e4 Update gcc-4.8 CI to Ubuntu 18.04 2024-04-23 18:37:31 +02:00
Saúl Ibarra Corretgé
bb674c0c3b
Add iOS build to CI 2024-04-12 12:24:18 +02:00
Charlie Gordon
b20aad8d1a
Add faster test262 test target (#362)
* Add faster test262 test target
- add test262-fast.conf with lengthy tests disabled
- add test262-fast corresponding target
- make valgrind use test262-fast
2024-04-09 10:36:49 +02:00
Saúl Ibarra Corretgé
c33b8c9b13 Add Windows + Ninja to CI 2024-04-07 00:08:19 +02:00
Saúl Ibarra Corretgé
7fe17cc2d3 Remove unnecessary shell change in CI 2024-04-07 00:08:19 +02:00
Saúl Ibarra Corretgé
51608ce6d2 Fix CI to make actual release builds on Windows
CMAKE_BUILD_TYPE only applies on single-configuration generators: https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html

For multi-configuration generators like Visual Studio (or Xcode) --config needs to be used in order to build that specific configuration.
2024-04-07 00:08:19 +02:00
Saúl Ibarra Corretgé
8c861c130e Update ci.yml 2024-04-04 16:58:36 +02:00
Saúl Ibarra Corretgé
8a03548736 Run macOS CI on both amd64 and aarch64 2024-04-04 16:58:36 +02:00
Saúl Ibarra Corretgé
3781c2a6db Add valgrind to CI
Fixes: https://github.com/quickjs-ng/quickjs/issues/71
2024-03-20 20:03:05 +01:00
aabajyan
48cb3ac410 Do not link to pthread when targeting Android
I had issues compiling this for Android, and as it turns out, pthread functionality
is part of Bionic itself and linking is not required.
2024-03-20 07:30:39 +01:00
Ben Noordhuis
99e4e0d55e
Disable ASLR, upgrade Ubuntu CI images (#321)
After much tinkering with libuv's CI, I finally figured out that ASLR
is the root cause for the ASan and MSan failures. Newer kernels use
bigger PIE slides and the sanitizer runtimes don't know how to handle
those (yet - looks like it's been fixed upstream.)

Refs: https://github.com/quickjs-ng/quickjs/pull/315
Refs: https://github.com/libuv/libuv/pull/4365
2024-03-17 19:59:24 +01:00
Ben Noordhuis
5d2202cad0
Pin Ubuntu CI images to 20.04 (#315)
GitHub recently upgraded the ubuntu-latest images and I suspect that is
the cause of the linux-asan and linux-msan failures. Pin to the old LTS
for now.

Fixes: https://github.com/quickjs-ng/quickjs/issues/314
2024-03-15 10:49:33 +01:00
Ben Noordhuis
761ad7856f
Fix tcc build action (#311)
Clone the full repo, otherwise the known-good commit we want to test
against won't be available.
2024-03-14 00:06:48 +01:00
Saúl Ibarra Corretgé
50dcc707e0 Add TCC workflows to CI 2024-03-12 11:01:33 +01:00
Saúl Ibarra Corretgé
e859eae483 Add Android CI 2024-03-12 10:26:10 +01:00
Saúl Ibarra Corretgé
d64967b73f Add wasi release job dependency 2024-03-11 11:23:11 +01:00
Saúl Ibarra Corretgé
d7a2025238 Fix not building qjsc during release process 2024-03-11 11:15:57 +01:00
Saúl Ibarra Corretgé
c61336c4fc Update checkout actions
Fixes: https://github.com/quickjs-ng/quickjs/issues/292
2024-03-07 11:15:15 +01:00
Saúl Ibarra Corretgé
d49a14ba3a Release WASM / WASI build artifacts too 2024-03-07 10:24:10 +01:00
Saúl Ibarra Corretgé
215f246974 Add Big Endian CI target 2024-03-06 11:21:50 +01:00
Cotton Hou
b37627d2c1 CI to silent wget by -nv (--no-verbose) 2024-02-16 08:57:15 +01:00
Saúl Ibarra Corretgé
fb03ca24d2 Add WASI support 2024-02-14 08:59:15 +01:00
Saúl Ibarra Corretgé
7f928d289f Check-in all generated C files
Closes: https://github.com/quickjs-ng/quickjs/issues/262
2024-02-13 09:49:57 +01:00
Marc Redemske
359a118562 Add qjsc to release artifacts 2024-02-12 10:32:02 +01:00
Jason
48e4c63a0e
Add support for compiling with Microsoft Visual Studio C++ (MSVC) (#246) 2024-01-16 12:42:05 +01:00
Ben Noordhuis
4b138c8923
Run V8 spec conformance test suite (#243)
The shell script runs the tests and diffs stdout against v8.txt.
Lines added/removed means tests were broken/fixed.

Future work is to a) fix failing tests, and b) enable more tests.

A number are disabled for various reasons and mjsunit subdirectories are
currently skipped. Need to decide on a case-by-case basis what is and
isn't relevant to us.

At the moment about 430 tests are run of which approx. 80% pass.
2024-01-02 07:47:40 +01:00
Ben Noordhuis
5cbf8727a6
Retain function source code in serialized bytecode (#218)
Also fix a small memory leak in the output from `qjsc -e`.

Fixes: https://github.com/quickjs-ng/quickjs/issues/217
2023-12-16 01:01:26 +01:00