Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
46 changes: 46 additions & 0 deletions .github/workflows/libwasvm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: libwasmvm
on:
workflow_call:
pull_request:
push:
branches:
- main
- release/**

concurrency:
cancel-in-progress: true
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event_name == 'push' && github.sha || github.ref }}

defaults:
run:
working-directory: sei-wasmvm

jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- release-build-alpine
- release-build-linux
- release-build-macos
steps:
- uses: actions/checkout@v6
with:
ref: ${{ github.sha }}
- name: Build
run: |
mkdir -p libwasmvm/artifacts
make ${{ matrix.target }}
ls -alh internal/api
- name: Upload libraries
uses: actions/upload-artifact@v5
with:
name: libwasmvm-${{ matrix.target }}-${{ github.sha }}
path: |
sei-wasmvm/internal/api/*.h
sei-wasmvm/internal/api/*.so
sei-wasmvm/internal/api/*.a
sei-wasmvm/internal/api/*.dylib
if-no-files-found: warn
7 changes: 5 additions & 2 deletions sei-wasmvm/builders/guest/build_gnu_aarch64.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,8 @@ export AR_aarch64_unknown_linux_gnu=llvm-ar
export CFLAGS_aarch64_unknown_linux_gnu="--sysroot=/usr/aarch64-linux-gnu"
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="$qemu_aarch64"
cargo build --release --target aarch64-unknown-linux-gnu
cp target/aarch64-unknown-linux-gnu/release/libwasmvm.so artifacts/libwasmvm.aarch64.so
cargo build --release -j 1 --target aarch64-unknown-linux-gnu
tree target
mkdir -p artifacts
ls -alh .
cp target/aarch64-unknown-linux-gnu/release/libwasmvm.so artifacts/
7 changes: 5 additions & 2 deletions sei-wasmvm/builders/guest/build_gnu_x86_64.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,8 @@ export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
echo "Starting x86_64-unknown-linux-gnu build"
export CC=clang
export CXX=clang++
cargo build --release --target x86_64-unknown-linux-gnu
cp target/x86_64-unknown-linux-gnu/release/libwasmvm.so artifacts/libwasmvm.x86_64.so
cargo build --release -j 1 --target x86_64-unknown-linux-gnu
tree target
mkdir -p artifacts
ls -alh .
cp target/x86_64-unknown-linux-gnu/release/libwasmvm.so artifacts/
5 changes: 1 addition & 4 deletions sei-wasmvm/builders/guest/build_linux.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
#!/bin/bash
set -o errexit -o nounset -o pipefail

build_gnu_x86_64.sh
build_gnu_aarch64.sh
exit 1
6 changes: 6 additions & 0 deletions sei-wasmvm/builders/guest/build_macos.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/bin/bash
set -o errexit -o nounset -o pipefail

tree .

export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse

# ref: https://wapl.es/rust/2019/02/17/rust-cross-compile-linux-to-macos.html
Expand All @@ -20,6 +22,10 @@ export CC=o64-clang
export CXX=o64-clang++
cargo build --release --target x86_64-apple-darwin

tree target

mkdir -p artifacts

# Create a universal library with both archs
lipo -output artifacts/libwasmvm.dylib -create \
target/x86_64-apple-darwin/release/deps/libwasmvm.dylib \
Expand Down
2 changes: 2 additions & 0 deletions sei-wasmvm/builders/guest/build_macos_static.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/bin/bash
set -o errexit -o nounset -o pipefail

tree .

export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse

# ref: https://wapl.es/rust/2019/02/17/rust-cross-compile-linux-to-macos.html
Expand Down
2 changes: 2 additions & 0 deletions sei-wasmvm/builders/guest/build_muslc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,7 @@ unset CC
echo "Starting x86_64-unknown-linux-musl build"
cargo build --release --target x86_64-unknown-linux-musl --example wasmvmstatic

tree target
mkdir -p artifacts
cp target/aarch64-unknown-linux-musl/release/examples/libwasmvmstatic.a artifacts/libwasmvm_muslc.aarch64.a
cp target/x86_64-unknown-linux-musl/release/examples/libwasmvmstatic.a artifacts/libwasmvm_muslc.a
Loading
Loading