Skip to content

Commit 18d4227

Browse files
authored
CI: build wamr-wasi-extensions (#4394)
* wamr-wasi-extensions: separate test scripts also, allow to specify the prefix directory. for the convenience of the CI. * CI: build wamr-wasi-extensions fragments are copied from compilation_on_macos.yml. (thus intel copyright notice)
1 parent 0641dd1 commit 18d4227

File tree

4 files changed

+108
-31
lines changed

4 files changed

+108
-31
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Copyright (C) 2019 Intel Corporation. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3+
4+
name: wamr_wasi_extensions
5+
6+
on:
7+
pull_request:
8+
types:
9+
- opened
10+
- synchronize
11+
paths:
12+
- ".github/workflows/wamr_wasi_extensions.yml"
13+
- "wamr_wasi_extensios/**"
14+
- "core/iwasm/libraries/wasi-nn/include/**"
15+
- "core/iwasm/libraries/lib-socket/**"
16+
# allow to be triggered manually
17+
workflow_dispatch:
18+
19+
# Cancel any in-flight jobs for the same PR/branch so there's only one active
20+
# at a time
21+
concurrency:
22+
group: ${{ github.workflow }}-${{ github.ref }}
23+
cancel-in-progress: true
24+
25+
jobs:
26+
build_wamr_wasi_extensions:
27+
runs-on: ${{ matrix.os }}
28+
strategy:
29+
matrix:
30+
os: [ubuntu-22.04, macos-13, macos-14]
31+
steps:
32+
- name: checkout
33+
uses: actions/checkout@v4
34+
35+
- name: install-wasi-sdk-wabt
36+
uses: ./.github/actions/install-wasi-sdk-wabt
37+
with:
38+
os: ${{ matrix.os }}
39+
40+
- name: Build wamr-wasi-extensions
41+
run: |
42+
mkdir dist
43+
./build_libs.sh $(pwd)/dist/wamr-wasi-extensions
44+
working-directory: wamr-wasi-extensions
45+
46+
- name: Build wamr-wasi-extensions samples
47+
run: |
48+
./build_samples.sh $(pwd)/dist/wamr-wasi-extensions
49+
working-directory: wamr-wasi-extensions
50+
51+
- name: Upload artifacts
52+
if: matrix.os == 'macos-14'
53+
uses: actions/upload-artifact@v4
54+
with:
55+
name: wamr-wasi-extensions
56+
path: wamr-wasi-extensions/dist
57+
retention-days: 10

wamr-wasi-extensions/build_libs.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#! /bin/sh
2+
3+
# Copyright (C) 2025 Midokura Japan KK. All rights reserved.
4+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5+
6+
set -e
7+
8+
PREFIX=${1:-/tmp/wamr}
9+
WASI_SDK=${WASI_SDK:-/opt/wasi-sdk}
10+
11+
cmake -B build-lib \
12+
-DCMAKE_TOOLCHAIN_FILE=${WASI_SDK}/share/cmake/wasi-sdk.cmake \
13+
-DCMAKE_INSTALL_PREFIX=${PREFIX} \
14+
.
15+
cmake --build build-lib -t install

wamr-wasi-extensions/build_samples.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#! /bin/sh
2+
3+
# Copyright (C) 2025 Midokura Japan KK. All rights reserved.
4+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5+
6+
set -e
7+
8+
PREFIX=${1:-/tmp/wamr}
9+
WASI_SDK=${WASI_SDK:-/opt/wasi-sdk}
10+
11+
cmake -B build-app-nn \
12+
-DCMAKE_TOOLCHAIN_FILE=${WASI_SDK}/share/cmake/wasi-sdk.cmake \
13+
-DCMAKE_PREFIX_PATH=${PREFIX} \
14+
samples/nn
15+
cmake --build build-app-nn
16+
17+
cmake -B build-app-nn-cli \
18+
-DCMAKE_TOOLCHAIN_FILE=${WASI_SDK}/share/cmake/wasi-sdk.cmake \
19+
-DCMAKE_PREFIX_PATH=${PREFIX} \
20+
samples/nn-cli
21+
cmake --build build-app-nn-cli
22+
23+
cmake -B build-app-socket-nslookup \
24+
-DCMAKE_TOOLCHAIN_FILE=${WASI_SDK}/share/cmake/wasi-sdk-pthread.cmake \
25+
-DCMAKE_PREFIX_PATH=${PREFIX} \
26+
samples/socket-nslookup
27+
cmake --build build-app-socket-nslookup
28+
29+
cmake -B build-app-socket-tcp-udp \
30+
-DCMAKE_TOOLCHAIN_FILE=${WASI_SDK}/share/cmake/wasi-sdk-pthread.cmake \
31+
-DCMAKE_PREFIX_PATH=${PREFIX} \
32+
samples/socket-tcp-udp
33+
cmake --build build-app-socket-tcp-udp

wamr-wasi-extensions/test.sh

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -5,35 +5,7 @@
55

66
set -e
77

8-
PREFIX=/tmp/wamr
9-
WASI_SDK=${WASI_SDK:-/opt/wasi-sdk}
8+
PREFIX=${1:-/tmp/wamr}
109

11-
cmake -B build-lib \
12-
-DCMAKE_TOOLCHAIN_FILE=${WASI_SDK}/share/cmake/wasi-sdk.cmake \
13-
-DCMAKE_INSTALL_PREFIX=${PREFIX} \
14-
.
15-
cmake --build build-lib -t install
16-
17-
cmake -B build-app-nn \
18-
-DCMAKE_TOOLCHAIN_FILE=${WASI_SDK}/share/cmake/wasi-sdk.cmake \
19-
-DCMAKE_PREFIX_PATH=${PREFIX} \
20-
samples/nn
21-
cmake --build build-app-nn
22-
23-
cmake -B build-app-nn-cli \
24-
-DCMAKE_TOOLCHAIN_FILE=${WASI_SDK}/share/cmake/wasi-sdk.cmake \
25-
-DCMAKE_PREFIX_PATH=${PREFIX} \
26-
samples/nn-cli
27-
cmake --build build-app-nn-cli
28-
29-
cmake -B build-app-socket-nslookup \
30-
-DCMAKE_TOOLCHAIN_FILE=${WASI_SDK}/share/cmake/wasi-sdk-pthread.cmake \
31-
-DCMAKE_PREFIX_PATH=${PREFIX} \
32-
samples/socket-nslookup
33-
cmake --build build-app-socket-nslookup
34-
35-
cmake -B build-app-socket-tcp-udp \
36-
-DCMAKE_TOOLCHAIN_FILE=${WASI_SDK}/share/cmake/wasi-sdk-pthread.cmake \
37-
-DCMAKE_PREFIX_PATH=${PREFIX} \
38-
samples/socket-tcp-udp
39-
cmake --build build-app-socket-tcp-udp
10+
./build_libs.sh ${PREFIX}
11+
./build_samples.sh ${PREFIX}

0 commit comments

Comments
 (0)