Commit Graph

200 Commits

Author SHA1 Message Date
f9153fbff0 build(deps): bump github/codeql-action from 3.26.9 to 3.26.11 (#3843)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.9 to 3.26.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.26.9...v3.26.11)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 09:08:37 +08:00
e0027f3694 Merge pull request #3828 from bytecodealliance/dependabot/github_actions/ossf/scorecard-action-2.4.0
build(deps): bump ossf/scorecard-action from 2.3.1 to 2.4.0
2024-10-05 08:36:52 +02:00
5f3d36b5a4 Merge pull request #3827 from bytecodealliance/dependabot/github_actions/actions/upload-artifact-4.4.0
build(deps): bump actions/upload-artifact from 3.1.0 to 4.4.0
2024-10-05 08:36:24 +02:00
2e60f37202 build(deps): bump ossf/scorecard-action from 2.3.1 to 2.4.0
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.3.1 to 2.4.0.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](0864cf1902...62b2cac7ed)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 10:45:37 +00:00
2baac8d9e0 build(deps): bump actions/upload-artifact from 3.1.0 to 4.4.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.0 to 4.4.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3.1.0...v4.4.0)

---
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-09-30 10:45:34 +00:00
bd8c7a3a64 build(deps): bump github/codeql-action from 2.2.4 to 3.26.9
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.4 to 3.26.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v2.2.4...v3.26.9)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 10:45:28 +00:00
5ce6f90bd6 Add scoreboard CI for supply-chain security (#3819) 2024-09-27 15:52:00 +08:00
cd47438af9 spec_test_on_nuttx.yml: Disable riscv32_ilp32f for now (#3777)
It seems failing too frequently.

cf. https://github.com/bytecodealliance/wasm-micro-runtime/issues/3776
2024-09-10 10:58:22 +08:00
cb71ca5822 CI: Disable parallel test in spectest for NuttX (#3780) 2024-09-09 21:58:07 +08:00
fed0fe953c compilation_on_nuttx.yml: Update checkout action to suppress warnings (#3765) 2024-09-04 12:08:25 +08:00
cb3a69f778 CI: Freeze version of bloaty for NuttX compilation (#3756)
Fix the compilation error of this CI:
https://github.com/bytecodealliance/wasm-micro-runtime/actions/runs/10575515238

```
/__w/wasm-micro-runtime/wasm-micro-runtime/bloaty/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:139:32: error: no matching function for call to 'max(long int, int)'
  139 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
      |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
```
2024-08-28 16:05:07 +08:00
1329e1d3e1 Add support for multi-memory proposal in classic interpreter (#3742)
Implement multi-memory for classic-interpreter. Support core spec (and bulk memory) opcodes now,
and will support atomic opcodes, and add multi-memory export APIs in the future. 

PS: Multi-memory spec test patched a lot for linking test to adapt for multi-module implementation.
2024-08-21 12:22:23 +08:00
f4383a9e62 Use node 18.x to build vscode extension (#3735)
Fix the issue of releasing wamr-ide vscode extension:
https://github.com/bytecodealliance/wasm-micro-runtime/actions/runs/10467675321/job/28987014745
2024-08-20 17:03:28 +08:00
88caa0c53a CI: Unify configuration stage for NuttX (#3725) 2024-08-19 10:35:18 +08:00
67c33a29e3 CI: Enable XIP spectest for RISCV32 ILP32F (#3727) 2024-08-19 09:52:38 +08:00
58ca02bc5f Add support for RISCV32 ILP32F (#3708) 2024-08-15 15:17:42 +08:00
8a2e151de1 CI: Bump NuttX version to 12.6 (#3684) 2024-08-05 09:06:31 +08:00
08fad88d75 spec_test_on_nuttx.yml: Retire CONFIG_EOL_IS_LF (#3676)
It has been removed in nuttx while ago:
https://github.com/apache/nuttx/pull/8628
2024-08-02 09:54:07 +08:00
c3bd6b495b spec_test_on_nuttx.yml: Replace sed with kconfig-tweak (#3672)
Fixes: https://github.com/bytecodealliance/wasm-micro-runtime/issues/3646
2024-07-31 09:45:11 +08:00
3b56e7c607 spec_test_on_nuttx.yml: Record more logs (#3670)
Upload artifacts including nuttx config/image and wasm/aot modules
for post-mortem investigations.
2024-07-27 15:38:24 +08:00
84b5221517 spec_test_on_nuttx.yml: Enable xip (#3671)
Related changes:
https://github.com/bytecodealliance/wasm-micro-runtime/pull/3662
https://github.com/bytecodealliance/wasm-micro-runtime/pull/3666
2024-07-27 15:31:31 +08:00
22df091603 spec_test_on_nuttx.yml: Add xtensa (#3665)
Fixes: https://github.com/bytecodealliance/wasm-micro-runtime/issues/3608.
2024-07-26 14:14:04 +08:00
2b5b771537 CI: Build llvm for xtensa (#3637) 2024-07-18 13:51:16 +08:00
68fccc4bc5 Fix night run CI (#3640)
Manually git clone and install dependencies instead of using git action on Ubuntu 14.04 runner.
2024-07-17 19:30:35 +08:00
fc34151df9 Bump ocaml/setup-ocaml from 2 to 3 (#3604)
Bumps [ocaml/setup-ocaml](https://github.com/ocaml/setup-ocaml) from 2 to 3.
- [Release notes](https://github.com/ocaml/setup-ocaml/releases)
- [Changelog](https://github.com/ocaml/setup-ocaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ocaml/setup-ocaml/compare/v2...v3)

---
updated-dependencies:
- dependency-name: ocaml/setup-ocaml
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-10 11:24:15 +08:00
0712c7f361 Fix CI build and run unit tests (#3499) 2024-06-04 14:47:42 +08:00
082cfa1c4f Correct nuttx repo names (#3484)
The nuttx repo had changed from https://github.com/apache/incubator-nuttx
to https://github.com/apache/nuttx.
2024-05-31 15:39:23 +08:00
6fdfedb08a Fix codeql compilation error (#3461)
Update OS to ubuntu-22.04 and install `libgcc-12-dev lib32gcc-12-dev` instead
of `libgcc-11-dev lib32gcc-11-dev`.

And fix a bh_assert condition typo error.

ps.
https://github.com/bytecodealliance/wasm-micro-runtime/actions/runs/9183310069/job/25253782329
2024-05-22 17:27:38 +08:00
b2eb7d838d Update spec test to latest commit (#3293)
- Update spec test cases to commit bc76fd79cfe61033d7f4ad4a7e8fc4f996dc5ba8 on Apr. 3
- Update wabt binary to 1.0.34 to support newer spec cases
- Add comparison between table declared elem type and table elem segment value type
- Add a function to decide whether to execute test cases in a running mode
- Keep using interpreter in GC spec because wat2wasm in wabt can't compile if.wast w/o errors
- Re-factoring threads spec test case processing
- Since wabt 1.0.34 release isn't compatible with ubuntu 20.04, compile it from source code
- Disable CI to run aot multi-module temporarily, and will enable it in another PR
2024-05-17 10:40:47 +08:00
fe5e7a9981 Implement Memory64 support for AOT (#3362)
Refer to:
https://github.com/bytecodealliance/wasm-micro-runtime/pull/3266
https://github.com/bytecodealliance/wasm-micro-runtime/issues/3091
2024-05-13 11:03:38 +08:00
1c2a8fca4e Fix some more spelling issues (#3393) 2024-05-08 09:30:29 +08:00
ca61184ced Fix some spelling issues (#3385)
Fix some of the spelling issues found by CSpell.
2024-05-06 07:56:48 +08:00
120b9659dd A few native stack detection fixes for macOS/arm64 (#3368) 2024-04-26 19:37:55 +08:00
410ee580ae Add wasm_runtime_detect_native_stack_overflow_size (#3355)
- Add a few API (https://github.com/bytecodealliance/wasm-micro-runtime/issues/3325)
   ```c
   wasm_runtime_detect_native_stack_overflow_size
   wasm_runtime_detect_native_stack_overflow
   ```
- Adapt the runtime to use them
- Adapt samples/native-stack-overflow to use them
- Add a few missing overflow checks in the interpreters
- Build and run the sample on the CI
2024-04-26 16:00:58 +08:00
1b5ff93656 CI: Use macos-13 instead of macos-latest (#3366)
Our workflows assume macos-latest is intel, but now it's arm64.
Use macos-13, which is documented to be intel, instead.

reference:
https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners
2024-04-26 14:38:49 +08:00
f14a166466 Test more samples in nightly-run CI (#3358)
Build and run sample native-lib and wamr-app-framework's simple
in nightly-run CI.
2024-04-25 20:58:28 +08:00
9d6d3466ff Fix a few native stack address calculations (#3351) 2024-04-24 16:39:38 +08:00
0aeef69d23 Update binary size info in README.md (#3030)
And also show size in CI with NuttX.

The size info is from bloaty, which is a tool to measure binary size.
Example usage and output (WAMR stuff only):

```
➜  sim bloaty -s file nuttx/nuttx -d compileunits -n 10000 --source-filter wamr
    FILE SIZE        VM SIZE
 --------------  --------------
  13.1%   108Ki  19.4%  14.6Ki    wamr/core/iwasm/libraries/libc-wasi/sandboxed-system-primitives/src/posix.c
  12.2%   100Ki   0.1%      50    wamr/core/iwasm/common/wasm_c_api.c
  10.6%  87.1Ki   8.7%  6.54Ki    wamr/core/iwasm/common/wasm_runtime_common.c
   9.2%  76.1Ki  12.6%  9.45Ki    wamr/core/iwasm/aot/aot_loader.c
   8.9%  73.6Ki  12.5%  9.38Ki    wamr/core/iwasm/libraries/libc-wasi/libc_wasi_wrapper.c
   7.1%  58.7Ki   9.0%  6.79Ki    wamr/core/iwasm/aot/aot_runtime.c
   3.6%  29.3Ki   5.6%  4.21Ki    wamr/core/iwasm/libraries/libc-builtin/libc_builtin_wrapper.c
   3.2%  26.2Ki   3.6%  2.73Ki    wamr/core/shared/platform/common/posix/posix_socket.c
   2.9%  24.0Ki   2.7%  2.01Ki    wamr/core/iwasm/common/wasm_memory.c
   2.8%  23.2Ki   2.3%  1.74Ki    wamr/core/iwasm/common/wasm_application.c
   2.6%  21.5Ki   3.3%  2.46Ki    wamr/core/shared/platform/common/posix/posix_file.c
   2.5%  20.4Ki   1.9%  1.45Ki    wamr/core/iwasm/common/wasm_native.c
   2.4%  20.0Ki   2.0%  1.51Ki    wamr/core/iwasm/aot/arch/aot_reloc_riscv.c
   2.1%  17.3Ki   1.6%  1.20Ki    wamr/core/iwasm/common/wasm_shared_memory.c
   2.0%  16.4Ki   2.4%  1.81Ki    wamr/core/shared/mem-alloc/ems/ems_alloc.c
   1.9%  15.9Ki   2.4%  1.81Ki    wamr/product-mini/platforms/nuttx/main.c
   1.7%  13.8Ki   1.4%  1.05Ki    wamr/core/iwasm/aot/aot_intrinsic.c
   1.5%  12.2Ki   0.4%     312    wamr/core/iwasm/common/wasm_exec_env.c
   1.4%  11.8Ki   0.8%     618    wamr/core/shared/platform/common/posix/posix_thread.c
   1.0%  8.20Ki   1.2%     952    wamr/core/shared/utils/bh_hashmap.c
   0.9%  7.52Ki   0.8%     636    wamr/core/shared/utils/bh_vector.c
   0.9%  7.46Ki   0.8%     618    wamr/core/shared/mem-alloc/ems/ems_kfc.c
   0.8%  6.89Ki   1.0%     744    wamr/core/iwasm/libraries/libc-wasi/sandboxed-system-primitives/src/blocking_op.c
   0.8%  6.65Ki   0.5%     356    wamr/core/shared/platform/nuttx/nuttx_platform.c
   0.5%  4.25Ki   0.4%     316    wamr/core/shared/utils/bh_common.c
   0.4%  3.70Ki   0.3%     248    wamr/core/shared/utils/bh_log.c
   0.4%  3.52Ki   0.4%     330    wamr/core/iwasm/libraries/libc-wasi/sandboxed-system-primitives/src/random.c
   0.4%  3.07Ki   0.1%      40    wamr/core/shared/mem-alloc/mem_alloc.c
   0.3%  2.52Ki   0.3%     196    wamr/core/shared/utils/uncommon/bh_read_file.c
   0.3%  2.36Ki   0.3%     216    wamr/core/shared/platform/common/posix/posix_clock.c
   0.3%  2.27Ki   0.1%     106    wamr/core/shared/utils/bh_list.c
   0.2%  1.91Ki   0.6%     430    wamr/core/shared/platform/common/libc-util/libc_errno.c
   0.2%  1.78Ki   0.1%      94    wamr/core/iwasm/libraries/libc-wasi/sandboxed-system-primitives/src/str.c
   0.2%  1.73Ki   0.0%       6    wamr/core/iwasm/common/wasm_blocking_op.c
   0.2%  1.42Ki   0.1%      74    wamr/core/shared/utils/bh_bitmap.c
   0.1%  1.02Ki   0.1%      82    wamr/core/shared/platform/common/posix/posix_time.c
   0.1%     751   0.2%     138    wamr/core/iwasm/common/arch/invokeNative_riscv.S
 100.0%   823Ki 100.0%  75.1Ki    TOTAL
```
2024-04-23 17:15:53 +08:00
30426be82c Refactor CodeQL CI (#3319)
- Move CodeQL scripts to the scripts directory
- Only report error in CI if it's a CodeQL reported issue and was not dismissed
  before and is likely to be an actual error
2024-04-16 16:32:47 +08:00
fef26ead3e addr2line.py: Support sourceMappingURL section produced by emcc (#3302)
And update the debug-tools sample.
2024-04-12 11:43:40 +08:00
1a043b6eb5 Bump actions/upload-artifact from 3 to 4 (#3308)
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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-12 11:34:06 +08:00
ff7bf7ad41 Bump actions/setup-node from 3 to 4 (#3307)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-12 11:33:30 +08:00
b54551598a Bump github/codeql-action from 2 to 3 (#3306)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-12 11:31:05 +08:00
4a29794a1b Update release CI (#3295)
In the release CI and related scripts, when comparing and printing to the CI,
use the most recent **ancestor** tag(s) for the release branch rather than
the most recent one(s).

And fix the build_wamr_sdk.yml and build_wamr_lldb.yml CIs.
2024-04-09 16:51:36 +08:00
2013f1f7d7 Fix warnings/issues reported in Windows and by CodeQL/Coverity (#3275)
Fix the warnings and issues reported:
- in Windows platform
- by CodeQL static code analyzing
- by Coverity static code analyzing

And update CodeQL script to build exception handling and memory features.
2024-04-07 11:57:31 +08:00
a23fa9f86c Implement memory64 for classic interpreter (#3266)
Adding a new cmake flag (cache variable) `WAMR_BUILD_MEMORY64` to enable
the memory64 feature, it can only be enabled on the 64-bit platform/target and
can only use software boundary check. And when it is enabled, it can support both
i32 and i64 linear memory types. The main modifications are:

- wasm loader & mini-loader: loading and bytecode validating process 
- wasm runtime: memory instantiating process
- classic-interpreter: wasm code executing process
- Support memory64 memory in related runtime APIs
- Modify main function type check when it's memory64 wasm file
- Modify `wasm_runtime_invoke_native` and `wasm_runtime_invoke_native_raw` to
  handle registered native function pointer argument when memory64 is enabled
- memory64 classic-interpreter spec test in `test_wamr.sh` and in CI

Currently, it supports memory64 memory wasm file that uses core spec
(including bulk memory proposal) opcodes and threads opcodes.

ps.
https://github.com/bytecodealliance/wasm-micro-runtime/issues/3091
https://github.com/bytecodealliance/wasm-micro-runtime/pull/3240
https://github.com/bytecodealliance/wasm-micro-runtime/pull/3260
2024-04-02 15:22:07 +08:00
b1502258ea Fix CI error when install packages for macos-14 (#3270)
MacOS CI ran failed with "error: externally-managed-environment" reported
when installing dependencies. Add argument "--break-system-packages" to
fix it.

ps.
https://github.com/bytecodealliance/wasm-micro-runtime/actions/runs/8503917001/job/23291537189
https://github.com/bytecodealliance/wasm-micro-runtime/actions/runs/8502961539/job/23289867170
2024-04-01 15:27:15 +08:00
b9740beb31 Disable CodeQL on fork repo (#3262) 2024-03-28 16:17:48 +08:00
ca364eb5d7 Fix nightly-run CI and CodeQL CI (#3250)
- Fix nightly run CI failure which was introduced by PR #3239 and now it must set
  WAMR_BUILD_TARGET when building iwasm for Android platform
- Remove building llvm, wamrc and jit in CodeQL CI, since it will
  do static code analyzing for llvm project and cause CodeQL run
  failed: `Oops! A fatal internal error occurred.
  This particular kind of error most often happens as a side effect of running out of
  disk space.`
2024-03-22 14:29:30 +08:00
e003ee1e29 CodeQL: Add more build combinations and disable run on PR (#3246)
Enhance CodeQL Code Security Analysis:
- Add more compilation combinations to build iwasm with different kinds of features
- Disable run on PR created and keep nightly run, since the whole time is very long,
   and will check how to restore run on PR created in the future
2024-03-21 14:18:27 +08:00