Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
a41d343
fix: improve test case handling in test_wamr.sh (#4708)
lum1n0us Nov 17, 2025
e2da849
wamr/arm: Add CFI directives to Thumb VFP assembly for better debuggi…
no1wudi Nov 17, 2025
863d0af
build(deps): Bump actions/upload-artifact from 4.6.2 to 5.0.0 (#4711)
dependabot[bot] Nov 18, 2025
63b61f1
build(deps): Bump actions/checkout from 3 to 5 (#4710)
dependabot[bot] Nov 18, 2025
c065004
build(deps): Bump github/codeql-action from 3.29.1 to 4.31.3 (#4709)
dependabot[bot] Nov 18, 2025
f6ce52f
Adding additional text around the resr requirement for code contribut…
woodsmc Nov 20, 2025
33fdc4a
Merge commit from fork
kylo5aby Nov 24, 2025
071e2aa
Merge commit from fork
lum1n0us Nov 24, 2025
53ffe45
Fast-interp should report unsupported opcode (#4723)
lum1n0us Nov 24, 2025
1d255ce
refactor: Improve debug experience with CFI directives and proper lab…
no1wudi Nov 24, 2025
0af3af4
chore: update NuttX version to 12.11 in CI workflows (#4720)
no1wudi Nov 24, 2025
0cefefa
ci: add raspberrypi-pico-2 to nuttx build matrix (#4721)
no1wudi Nov 24, 2025
912c2a6
add a set of apis to configure wasi via InstantiationArgs2 (#4707)
yamt Nov 24, 2025
a192467
Namespace generated headers with zephyr/ (#4670)
kr-t Nov 24, 2025
6182505
build(deps): Bump github/codeql-action from 4.31.3 to 4.31.5 (#4727)
dependabot[bot] Nov 24, 2025
85343e7
Add support for esp32s2 target to idf_component.yml (#4728)
karaxuna Nov 25, 2025
b4e4c5a
build(deps): Bump actions/checkout from 5 to 6 (#4726)
dependabot[bot] Nov 25, 2025
a75dc9b
Remove local fuzzing server (#4729)
lum1n0us Nov 25, 2025
418be9d
Update link to WASI Proposals.md (#4734)
yoshuawuyts Nov 27, 2025
3c01e2a
fix double promotion warning (#4731)
TianlongLiang Nov 28, 2025
b871f8f
chore: narrow CI workflow trigger scope for Zephyr compilation
no1wudi Nov 28, 2025
02c2550
build: disable CONFIG_RP23XX_UF2_BINARY in NuttX CI
no1wudi Nov 28, 2025
69446f4
Add missing functions from thumb arch (#4718)
kr-t Nov 28, 2025
6d63869
ci: update nuttx and nuttx-apps commits to fix CI build (#4736)
no1wudi Dec 1, 2025
ea9e11c
fix: enhance test case execution handling in test_wamr.sh (#4712)
lum1n0us Dec 1, 2025
081c344
feat: add support for checking unsupported build configurations (#4690)
lum1n0us Dec 1, 2025
32e8d48
build(deps): Bump actions/checkout from 5.0.1 to 6.0.0 (#4738)
dependabot[bot] Dec 4, 2025
1289671
build(deps): Bump github/codeql-action from 4.31.5 to 4.31.6 (#4739)
dependabot[bot] Dec 4, 2025
486411d
build(deps): Bump actions/checkout from 6.0.0 to 6.0.1 (#4747)
dependabot[bot] Dec 10, 2025
1c3749d
build(deps): Bump github/codeql-action from 4.31.6 to 4.31.7 (#4746)
dependabot[bot] Dec 10, 2025
2063ac1
enable WAMR_BUILD_MULTI_MODULE to apply all wasm-vm unit tests (#4745)
kylo5aby Dec 10, 2025
f8448b6
Add a runtime API for reset shared heap(chain) (#4740)
TianlongLiang Dec 15, 2025
959ab66
build(deps): Bump github/codeql-action from 4.31.7 to 4.31.8 (#4757)
dependabot[bot] Dec 17, 2025
c844a75
build(deps): Bump actions/cache from 4 to 5 (#4755)
dependabot[bot] Dec 17, 2025
40a1a29
build(deps): Bump actions/upload-artifact from 5.0.0 to 6.0.0 (#4756)
dependabot[bot] Dec 17, 2025
ae2fd07
add more unit test cases for interpreter (#4716)
kylo5aby Dec 17, 2025
e78317a
feat: add documentation for the shared heap feature in WAMR (#4751)
lum1n0us Dec 18, 2025
0746640
Ensure --addr-pool mask accepts numbers only (#4619)
linear0211 Dec 21, 2025
45e3e1e
Fix nightly workflow matrix include duplication (#4761)
lum1n0us Dec 22, 2025
32fa697
build(deps): Bump github/codeql-action from 4.31.8 to 4.31.9 (#4767)
dependabot[bot] Dec 22, 2025
d980fe8
Upgrade macos runner of CIs to 15 (#4770)
lum1n0us Dec 23, 2025
2a2dd19
Implicitly disable the SIMD flag for classic-interp and fast-jit (#4768)
lum1n0us Dec 23, 2025
b915910
aot: avoid forcing mmap low addresses on NuttX (#4776)
no1wudi Jan 5, 2026
7ec7adc
fix: update CODEOWNERS to refine reviewer assignments (#4754)
lum1n0us Jan 7, 2026
257d475
update wasm-tool smith generation parameters for improved testing (#4…
lum1n0us Jan 7, 2026
3c337dc
fix: Wrong compiler parameter on MSVC (#4778)
sbwtw Jan 8, 2026
f71165f
update Dockerfile and devcontainer configuration (#4773)
lum1n0us Jan 8, 2026
d4034f1
Improve tiered support system and compilation flags introduction. (#4…
lum1n0us Jan 9, 2026
5664589
fix: clear exec_env_tls when destroying exec_env (#4774)
teamchong Jan 19, 2026
29767f6
fix(aot): reserve x18 register on macOS ARM64 (#4775)
teamchong Jan 19, 2026
23df0d4
fix: correct boundary check in dynamic_offset check (#4788)
kylo5aby Jan 20, 2026
a7fd653
Add bh_strtok_r function (#4790)
linear0211 Jan 20, 2026
7b750d1
Fix alignment calculation for large offsets (#4791)
kylo5aby Jan 20, 2026
b237870
build(deps): Bump github/codeql-action from 4.31.9 to 4.31.10 (#4794)
dependabot[bot] Jan 20, 2026
9a23968
Fix potential memory leak when discarding FreeMachineFunction (#4796)
kylo5aby Jan 21, 2026
520410d
fix: disable unsigned integer overflow sanitization (#4785)
lum1n0us Jan 22, 2026
a60c707
[devcontainer] install ocmal stuff (#4798)
lum1n0us Jan 25, 2026
09a2456
Fix memory leak in GC when rootset enumeration fails (#4793)
kylo5aby Jan 26, 2026
432ba8b
Fix memcpy overlap issue in RECOVER_BR_INFO for i64/v128 copy (#4797)
kylo5aby Jan 26, 2026
6f62820
language-bindings/go: upgrade yaml.v3 (#4799)
haitaohuang Jan 26, 2026
d58586a
fix code and comment typo (#4802)
TianlongLiang Jan 26, 2026
8d7d93d
Correct some error handling path in libc_emcc (#4803)
TianlongLiang Jan 26, 2026
0774f35
build(deps): Bump github/codeql-action from 4.31.10 to 4.31.11 (#4810)
dependabot[bot] Jan 28, 2026
fcd3722
build(deps): Bump actions/checkout from 6.0.1 to 6.0.2 (#4809)
dependabot[bot] Jan 28, 2026
04abbbc
gc: complete common heap type coverage in wasm_is_refheaptype_common(…
kylo5aby Jan 28, 2026
33680c7
refactor: update clang-tidy configuration for improved checks and err…
lum1n0us Jan 28, 2026
733ac3f
Collective fix (#4808)
TianlongLiang Jan 28, 2026
d7459e8
fix some typo in wamrc (#4807)
TianlongLiang Jan 28, 2026
f3c1c92
build(deps): Bump github/codeql-action from 4.31.11 to 4.32.0 (#4823)
dependabot[bot] Feb 2, 2026
55699a7
ci: allow .clang-tidy and fix exception type in guidelines check (#4818)
kylo5aby Feb 2, 2026
753a348
Fix a compilation error about calling os_atomic_cmpxchg (#4822)
lum1n0us Feb 3, 2026
f6fa692
disable the misc-no-recursion checker (#4821)
lum1n0us Feb 6, 2026
aeec8a7
Fixed build of Go language bindings (#4825)
ph1048 Feb 6, 2026
c69c7e2
Reduce warnings relevant to Zephyr platform (#4658)
kr-t Feb 6, 2026
2a337c4
Fix compilation error when MSVC is not set to C11 standard (#4588)
vkensou Feb 6, 2026
e4bddda
align quick_aot_entry invoke_* signatures with call sites (#4829)
kylo5aby Feb 9, 2026
e71bf6e
build(deps): Bump github/codeql-action from 4.32.0 to 4.32.2 (#4831)
dependabot[bot] Feb 10, 2026
6db91d7
Fix off-by-one in AOT func_index bounds checks (#4836)
sumleo Feb 13, 2026
0c9fe61
Improve shared_heap test cases. (#4834)
lum1n0us Feb 15, 2026
c46b10d
build(deps): Bump github/codeql-action from 4.32.2 to 4.32.3 (#4838)
dependabot[bot] Feb 23, 2026
041311b
Fix typo in README from WARM to WAMR (#4843)
RobertIsmo Feb 26, 2026
8bf91c1
build(deps): Bump github/codeql-action from 4.32.3 to 4.32.4 (#4840)
dependabot[bot] Feb 26, 2026
ea063cd
Improve zephyr's networking code (#4839)
kr-t Feb 26, 2026
9143b1a
fix: WASM_API_EXTERN should get visibility("default") on gcc and clan…
TaylorRichberger Feb 27, 2026
6a504e5
Fix sock_connect using wrong rights constant (#4849)
sumleo Feb 27, 2026
dcf137e
windows: fix vectored exception handler lifecycle for repeated thread…
kogum4 Feb 27, 2026
c83408a
build(deps): Bump actions/upload-artifact from 6.0.0 to 7.0.0 (#4859)
dependabot[bot] Mar 2, 2026
aea4da0
build(deps): Bump github/codeql-action from 4.32.4 to 4.32.5 (#4858)
dependabot[bot] Mar 2, 2026
3d707f9
Add bounds checking for output tensor buffer in wasi-nn llama.cpp (#4…
sumleo Mar 2, 2026
968fbbb
Fix a compilation error by clang-17 (#4812)
lum1n0us Mar 3, 2026
e325a5a
fix: update shared_heap_test to use os_getpagesize for memory size ca…
lum1n0us Mar 3, 2026
01f4ff4
workaround: prevent usage of anyref in struct fields and array elemen…
lum1n0us Mar 3, 2026
595dcd5
Fix off-by-one in aot_alloc_tiny_frame overflow check (#4845)
sumleo Mar 3, 2026
fa7c2d3
clean(zephyr): reduce warnings on zephyr platform (#4860)
kr-t Mar 5, 2026
7233982
fix(ems): avoid abort in gc_migrate when heap metadata is corrupted (…
kylo5aby Mar 5, 2026
0ec91ce
Refactoring enclave sample (#4828)
lum1n0us Mar 6, 2026
fe5276a
fuzz: remove unnecessary internal headers from wasm_mutator_fuzz (#4865)
OwenSanzas Mar 6, 2026
539bebe
Fix missing IS_INVALID_TAGINDEX check in RETHROW handler (#4837)
sumleo Mar 9, 2026
163a91b
Fix relocation addend sign extension on 32-bit platforms (#4846)
sumleo Mar 9, 2026
d9091cc
Fix mismatch of enum sizes between WASM and host (#4676)
dkouba-atym Mar 9, 2026
46c341b
build(deps): Bump github/codeql-action from 4.32.5 to 4.32.6 (#4868)
dependabot[bot] Mar 10, 2026
9e4aa9c
fuzzing: reject non-wasm files quickly and execute aot after compilat…
lum1n0us Mar 10, 2026
f159cc5
Fix: initialize record_frame in aot_copy_callstack (#4861)
lum1n0us Mar 10, 2026
9d1dc3e
Fix: Fix null pointer dereference in wasm_c_api.c (#4863)
lum1n0us Mar 10, 2026
46472ee
Enable Unit test on Mac(m1) (#4841)
lum1n0us Mar 12, 2026
26aa924
Move exception lock to ModuleInstance data. (#4772)
vchigrin Mar 16, 2026
db24677
fix: use copy of input for wasm_runtime_load to fix overwrites-const-…
kylo5aby Mar 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 46 additions & 13 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,16 +1,49 @@
# refer to https://clang.llvm.org/extra/clang-tidy/checks/list.html
#
# Configure clang-tidy for this project.

# Here is an explanation for why some of the checks are disabled:
#

Checks: >
-*,
bugprone-*,
cert-*,
clang-analyzer-*,
concurrency-*,
misc-*,
modernize-*,
performance-*,
portability-*,
readability-*,
-bugprone-easily-swappable-parameters,
-bugprone-macro-parentheses,
-misc-no-recursion,
-misc-unused-parameters,
-readability-braces-around-statements,
-readability-else-after-return,
-readability-function-cognitive-complexity,
-readability-identifier-length,
-readability-isolate-declaration,
-readability-magic-numbers,
-readability-named-parameter,
-readability-non-const-parameter,
-readability-redundant-preprocessor,
-readability-suspicious-call-argument,
-readability-uppercase-literal-suffix


# Turn all the warnings from the checks above into errors.
WarningsAsErrors: "*"

# headers in the following directories will be checked:
# - core/iwasm/
# - core/shared/
HeaderFilterRegex: '(core/iwasm/|core/shared/).*\\.h$'

# goto .clang-format at root directory to see the format style
FormatStyle: file

Checks: '-*, readability-identifier-naming, clang-analyzer-core.*,'
WarningsAsErrors: '-*'
HeaderFilterRegex: ''
FormatStyle: file
InheritParentConfig: false
AnalyzeTemporaryDtors: false
User: wamr
CheckOptions:
- key: readability-identifier-naming.VariableCase
value: lower_case
- key: readability-identifier-naming.ParameterCase
value: lower_case
- key: readability-identifier-naming.MacroDefinitionCase
value: UPPER_CASE
- { key: readability-identifier-naming.NamespaceCase, value: lower_case }
- { key: readability-function-cognitive-complexity.Threshold, value: 100 }
156 changes: 24 additions & 132 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,150 +1,42 @@
# Copyright (C) 2019 Intel Corporation. All rights reserved.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/cpp/.devcontainer/base.Dockerfile
# [Choice] Debian / Ubuntu version (use Debian 12/11/9, Ubuntu 18.04/21.04 on local arm64/Apple Silicon): debian-12, debian-11, debian-10, debian-9, ubuntu-21.04, ubuntu-20.04, ubuntu-18.04
# hadolint global ignore=DL3008,DL3009

ARG VARIANT=debian-12
FROM mcr.microsoft.com/vscode/devcontainers/cpp:${VARIANT}
FROM mcr.microsoft.com/devcontainers/cpp:${VARIANT}

ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Asian/Shanghai
ENV TZ=Asia/Shanghai

# hadolint ignore=DL3008
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y apt-transport-https apt-utils build-essential \
ca-certificates ccache cmake curl g++-multilib git gnupg \
libgcc-12-dev lib32gcc-12-dev lsb-release \
ninja-build ocaml ocamlbuild \
software-properties-common tree tzdata \
unzip valgrind vim wget zip --no-install-recommends \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

#
# binaryen
ARG BINARYEN_VER=114
WORKDIR /opt
RUN wget -c --progress=dot:giga https://github.com/WebAssembly/binaryen/releases/download/version_${BINARYEN_VER}/binaryen-version_${BINARYEN_VER}-x86_64-linux.tar.gz \
&& tar xf binaryen-version_${BINARYEN_VER}-x86_64-linux.tar.gz \
&& ln -sf /opt/binaryen-version_${BINARYEN_VER} /opt/binaryen \
&& rm binaryen-version_${BINARYEN_VER}-x86_64-linux.tar.gz

#
# CMAKE (https://apt.kitware.com/)
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# hadolint ignore=DL3008
ARG CMAKE_VER=3.27.0
RUN wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VER}/cmake-${CMAKE_VER}-Linux-x86_64.sh \
-q -O /tmp/cmake-install.sh \
&& chmod u+x /tmp/cmake-install.sh \
&& mkdir /opt/cmake-${CMAKE_VER} \
&& /tmp/cmake-install.sh --skip-license --prefix=/opt/cmake-${CMAKE_VER} \
&& rm /tmp/cmake-install.sh \
&& ln -s /opt/cmake-${CMAKE_VER}/bin/* /usr/local/bin

#
# install emsdk
WORKDIR /opt
RUN git clone https://github.com/emscripten-core/emsdk.git

ARG EMSDK_VER=3.1.43
WORKDIR /opt/emsdk
RUN git pull \
&& ./emsdk install ${EMSDK_VER} \
&& ./emsdk activate ${EMSDK_VER} \
&& echo "source /opt/emsdk/emsdk_env.sh" >> /root/.bashrc

#
# install wasi-sdk
ARG WASI_SDK_VER=20
RUN wget -c --progress=dot:giga https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER}/wasi-sdk-${WASI_SDK_VER}.0-linux.tar.gz -P /opt \
&& tar xf /opt/wasi-sdk-${WASI_SDK_VER}.0-linux.tar.gz -C /opt \
&& ln -sf /opt/wasi-sdk-${WASI_SDK_VER}.0 /opt/wasi-sdk \
&& rm /opt/wasi-sdk-${WASI_SDK_VER}.0-linux.tar.gz

#
#install wabt
ARG WABT_VER=1.0.33
RUN wget -c --progress=dot:giga https://github.com/WebAssembly/wabt/releases/download/${WABT_VER}/wabt-${WABT_VER}-ubuntu.tar.gz -P /opt \
&& tar xf /opt/wabt-${WABT_VER}-ubuntu.tar.gz -C /opt \
&& ln -sf /opt/wabt-${WABT_VER} /opt/wabt \
&& rm /opt/wabt-${WABT_VER}-ubuntu.tar.gz
&& apt-get upgrade -y

#
# install bazelisk
ARG BAZELISK_VER=1.17.0
RUN mkdir /opt/bazelisk \
&& wget -c --progress=dot:giga https://github.com/bazelbuild/bazelisk/releases/download/v${BAZELISK_VER}/bazelisk-linux-amd64 -P /opt/bazelisk \
&& chmod a+x /opt/bazelisk/bazelisk-linux-amd64 \
&& ln -fs /opt/bazelisk/bazelisk-linux-amd64 /opt/bazelisk/bazel

#
# install clang+llvm
ARG LLVM_VER=16
RUN apt-get purge -y clang-14 llvm-14 && apt-get autoremove -y
WORKDIR /etc/apt/apt.conf.d
RUN touch 99verfiy-peer.conf \
&& echo "Acquire { https::Verify-Peer false }" > 99verfiy-peer.conf

WORKDIR /tmp
#RUN wget --progress=dot:giga https://apt.llvm.org/llvm.sh \
# && chmod a+x ./llvm.sh \
# && ./llvm.sh ${LLVM_VER} all

# Workaround due to https://github.com/llvm/llvm-project/issues/62475
# hadolint ignore=DL3008
RUN set -ex \
&& echo "deb http://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-${LLVM_VER} main" > /etc/apt/sources.list.d/apt.llvm.org.list \
&& wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc \
&& apt-get update \
&& apt-get install -y \
clang-${LLVM_VER} lldb-${LLVM_VER} lld-${LLVM_VER} clangd-${LLVM_VER} clang-tidy-${LLVM_VER} clang-format-${LLVM_VER} clang-tools-${LLVM_VER} \
llvm-${LLVM_VER}-dev lld-${LLVM_VER} lldb-${LLVM_VER} llvm-${LLVM_VER}-tools libomp-${LLVM_VER}-dev libc++-${LLVM_VER}-dev libc++abi-${LLVM_VER}-dev \
libclang-common-${LLVM_VER}-dev libclang-${LLVM_VER}-dev libclang-cpp${LLVM_VER}-dev libunwind-${LLVM_VER}-dev \
libclang-rt-${LLVM_VER}-dev libpolly-${LLVM_VER}-dev --no-install-recommends \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

#
# [Optional]

#
# Install pip
# hadolint ignore=DL3008
RUN apt-get update \
&& apt-get install -y --reinstall python3-venv python3-pip --no-install-recommends \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*
&& apt-get install -y apt-transport-https apt-utils build-essential \
ca-certificates ccache clang-format-14 curl file g++-multilib git gnupg \
libgcc-12-dev lib32gcc-12-dev libzstd-dev lsb-release \
ninja-build ocaml ocamlbuild opam \
python3-venv python3-pip \
software-properties-common tree tzdata \
unzip valgrind vim wget zip --no-install-recommends

#
# Install required python packages
# hadolint ignore=DL3013
RUN python3 -m pip install --no-cache-dir --break-system-packages --upgrade pip \
&& pip3 install --no-cache-dir --break-system-packages black nose pycparser pylint
WORKDIR /opt

#
# Install github-cli. It doens't work as a feature of devcontainer.json
ARG GH_CLI_VER=2.32.0
WORKDIR /tmp
RUN wget -q https://github.com/cli/cli/releases/download/v${GH_CLI_VER}/gh_${GH_CLI_VER}_linux_amd64.deb \
&& dpkg -i gh_${GH_CLI_VER}_linux_amd64.deb
ARG WASI_SDK_VER=25
RUN wget -c --progress=dot:giga https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER}/wasi-sdk-${WASI_SDK_VER}.0-x86_64-linux.tar.gz -P /tmp \
&& tar xf /tmp/wasi-sdk-${WASI_SDK_VER}.0-x86_64-linux.tar.gz -C /opt \
&& ln -sf /opt/wasi-sdk-${WASI_SDK_VER}.0-x86_64-linux /opt/wasi-sdk

#
# Install NodeJS
RUN wget -qO- https://deb.nodesource.com/setup_20.x | bash -
# hadolint ignore=DL3008
RUN apt-get install -y nodejs --no-install-recommends
ARG WABT_VER=1.0.37
RUN wget -c --progress=dot:giga https://github.com/WebAssembly/wabt/releases/download/${WABT_VER}/wabt-${WABT_VER}-ubuntu-20.04.tar.gz -P /tmp \
&& tar xf /tmp/wabt-${WABT_VER}-ubuntu-20.04.tar.gz -C /opt \
&& ln -sf /opt/wabt-${WABT_VER} /opt/wabt

# set path
ENV PATH="/opt/bazelisk:/usr/lib/llvm-${LLVM_VER}/bin:${PATH}"
ENV CC=/usr/lib/llvm-${LLVM_VER}/bin/clang CXX=/usr/lib/llvm-${LLVM_VER}/bin/clang++
RUN printf "%s\n" "PS1='\n[ \u@wamr-dev-docker \W ]\n$ '" >> /root/.bashrc \
&& apt-get autoremove -y \

# clean up
RUN apt-get autoremove -y \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /tmp/*

# set workdir when container run
VOLUME /workspaces
WORKDIR /workspaces
27 changes: 3 additions & 24 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,50 +1,29 @@
// Copyright (C) 2019 Intel Corporation. All rights reserved.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/cpp
{
"name": "WAMR-Dev",
"build": {
"dockerfile": "Dockerfile",
// Update 'VARIANT' to pick an Debian / Ubuntu OS version: debian-12, debian-11, debian-10, debian-9, ubuntu-21.04, ubuntu-20.04, ubuntu-18.04
// Use Debian 12, Debian 11, Debian 9, Ubuntu 18.04 or Ubuntu 21.04 on local arm64/Apple Silicon
"args": {
"BINARYEN_VER": "114",
"BAZELISK_VER": "1.17.0",
"CMAKE_VER": "3.27.0",
"EMSDK_VER": "3.1.43",
"GH_CLI_VER": "2.32.0",
"LLVM_VER": "16",
"VARIANT": "debian-12",
"WASI_SDK_VER": "20",
"WABT_VER": "1.0.33"
"WASI_SDK_VER": "25",
"WABT_VER": "1.0.37"
}
},
"runArgs": [
"--cap-add=SYS_PTRACE",
"--security-opt",
"seccomp=unconfined"
],
// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"dtsvet.vscode-wasm",
"llvm-vs-code-extensions.vscode-clangd",
"ms-python.python",
"ms-python.vscode-pylance",
"ms-vscode.cmake-tools"
]
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "curl https://sh.rustup.rs -sSf | bash -s -- -y",
// Comment out this line to run as root instead.
"postCreateCommand": "bash .devcontainer/finalize.sh",
"remoteUser": "vscode"
}
18 changes: 18 additions & 0 deletions .devcontainer/finalize.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
echo "Running finalize script..."

#
# Python Package Installation
#
echo "--- Installing Python Dependencies\n"

# Upgrade pip first
python3 -m pip install --no-cache-dir --break-system-packages --upgrade pip
# Install required packages
pip3 install --no-cache-dir --break-system-packages -r .devcontainer/requirements.txt

echo "--- Installing Ocaml stuff\n"
opam init --yes --shell-setup
eval $(opam env --switch=default)
opam install --yes dune menhir

echo "Finalize script completed. ✅"
5 changes: 5 additions & 0 deletions .devcontainer/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
black
nose
pycparser
pylint
requests
20 changes: 10 additions & 10 deletions .github/actions/install-wasi-sdk-wabt/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,18 +50,18 @@ runs:
echo "::notice::wasi-sdk-25 and wabt-1.0.37 installed on ubuntu"
working-directory: /opt

- name: Set up wasi-sdk and wabt on macOS-13 (intel)
if: ${{ inputs.os == 'macos-13' }}
- name: Set up wasi-sdk and wabt on macOS on Intel
if: ${{ inputs.os == 'macos-15-intel' }}
shell: bash
run: |
echo "Downloading wasi-sdk for macOS-13..."
echo "Downloading wasi-sdk for macOS on Intel..."
sudo wget -O wasi-sdk.tar.gz --progress=dot:giga https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-macos.tar.gz

echo "Extracting wasi-sdk..."
sudo tar -xf wasi-sdk.tar.gz
sudo ln -sf wasi-sdk-25.0-x86_64-macos wasi-sdk

echo "Downloading wabt for macOS-13..."
echo "Downloading wabt for macOS on Intel..."
sudo wget -O wabt.tar.gz --progress=dot:giga https://github.com/WebAssembly/wabt/releases/download/1.0.36/wabt-1.0.36-macos-12.tar.gz

echo "Extracting wabt..."
Expand All @@ -71,21 +71,21 @@ runs:
/opt/wasi-sdk/bin/clang --version
/opt/wabt/bin/wasm-interp --version

echo "::notice::wasi-sdk-25 and wabt-1.0.36 installed on macos-13"
echo "::notice::wasi-sdk-25 and wabt-1.0.36 installed on ${{ inputs.os }}"
working-directory: /opt

- name: Set up wasi-sdk and wabt on macOS-14 (arm64)
if: ${{ inputs.os == 'macos-14' }}
- name: Set up wasi-sdk and wabt on macOS on ARM
if: ${{ inputs.os == 'macos-15' }}
shell: bash
run: |
echo "Downloading wasi-sdk for macOS-14..."
echo "Downloading wasi-sdk for macOS on ARM..."
sudo wget -O wasi-sdk.tar.gz --progress=dot:giga https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-arm64-macos.tar.gz

echo "Extracting wasi-sdk..."
sudo tar -xf wasi-sdk.tar.gz
sudo ln -sf wasi-sdk-25.0-arm64-macos wasi-sdk

echo "Downloading wabt for macOS-14..."
echo "Downloading wabt for macOS on ARM..."
sudo wget -O wabt.tar.gz --progress=dot:giga https://github.com/WebAssembly/wabt/releases/download/1.0.37/wabt-1.0.37-macos-14.tar.gz

echo "Extracting wabt..."
Expand All @@ -95,7 +95,7 @@ runs:
/opt/wasi-sdk/bin/clang --version
/opt/wabt/bin/wasm-interp --version

echo "::notice::wasi-sdk-25 and wabt-1.0.37 installed on macos-14"
echo "::notice::wasi-sdk-25 and wabt-1.0.37 installed on ${{ inputs.os }}"
working-directory: /opt

- name: Set up wasi-sdk and wabt on Windows
Expand Down
Loading
Loading