Commit graph

63 commits

Author SHA1 Message Date
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
Felipe Gasper
9de152667f
Add NetBSD support (#177) 2023-12-07 15:48:31 +01:00
Saúl Ibarra Corretgé
622ce2cc9d Detect JOBS in a more portable way 2023-12-07 10:59:11 +01:00
Saúl Ibarra Corretgé
ffa73c8f18 fixup! 2023-12-07 09:38:09 +01:00
Saúl Ibarra Corretgé
3f66b08b9c Simplify Makefile 2023-12-07 09:38:09 +01:00
Saúl Ibarra Corretgé
8128e66145 Add FreeBSD support 2023-12-05 12:34:02 +01:00
Saúl Ibarra Corretgé
478bcf74f2 Add OpenBSD support 2023-12-05 12:34:02 +01:00
Felipe Gasper
56738d8b4b
Add Cygwin compatibility 2023-12-03 18:15:07 +01:00
Saúl Ibarra Corretgé
0745c3a12b Add Emscripten target to CI
No testing, just making sure it compiles, and keeps on doing so.

Ref: https://github.com/quickjs-ng/quickjs/issues/75
2023-11-30 21:29:51 +01:00
Saúl Ibarra Corretgé
6f5cda46e7 Test Debug and Release on ClangCL 2023-11-30 09:28:39 +01:00
Saúl Ibarra Corretgé
bfd8c381cb Add support for building with ClangCL on Windows
Since ClangCL is compatible with MSVC this should get us almost there.

Ref: https://clang.llvm.org/docs/MSVCCompatibility.html
2023-11-30 01:23:09 +01:00
Marcin Kolny
699744562e Enable support for GCC compler v < 4.9
GCCv4.8 and lower doesn't ship with stdatomic implementation
(even though they don't define __STD_NO_ATOMICS__ for c11).
If the code is compiled with GCCv4.8 and older, we use builtin
GCC atomic operations instead.

The patch was initially proposed in quickjs's mailing group:
https://www.freelists.org/post/quickjs-devel/PATCH-support-for-older-gcc-versions-whitespace-changes-excluded
2023-11-29 09:22:27 +01:00
Saúl Ibarra Corretgé
00d104e519 Add clang64 MinGW environment to CI
run-test262 required pthreads, so let's add that. In addition, in MinGW,
clock_gettime is implemented in the pthreads library, so we want to link
it too.

This doesn't get us anywhere closer to building with ClangCL on Windows,
but hey, another target that required some tweaking...
2023-11-28 09:11:27 +01:00
Saúl Ibarra Corretgé
463df3adf6 Simplify code in CI 2023-11-24 15:44:35 +01:00
Saúl Ibarra Corretgé
72e542fbeb Add MinGW 32 CI target 2023-11-24 15:44:35 +01:00
Saúl Ibarra Corretgé
af456e6c11 Add workflow for making releases 2023-11-23 14:43:56 +01:00
Saúl Ibarra Corretgé
d88b6734e9 Make MinGW builds fully statically linked
Note the pthread usage is due to the Worker support, which is gated out
on Windows so there should be no need to link with pthreads on MinGW.
2023-11-22 19:25:37 +01:00
Saúl Ibarra Corretgé
c4e732e049 Add Linux 32bits target to CI 2023-11-17 23:55:22 +01:00
Saúl Ibarra Corretgé
54a4f2907e Refactor build system to use CMake only 2023-11-17 13:10:18 +01:00
Saúl Ibarra Corretgé
da3688f33d
Build examples on CMake (#67) 2023-11-17 10:45:04 +01:00
Saúl Ibarra Corretgé
0b09109151
Add shared library target to CMake (#60) 2023-11-14 22:29:00 +01:00
Saúl Ibarra Corretgé
b98df4d994 Run 262 tests when building with {a,ub}san 2023-11-14 12:44:16 +01:00