feat: add prepare script #43
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run Tests | |
on: | |
workflow_dispatch: | |
pull_request: | |
branches: [main] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
env: | |
WASI_VERSION: "20" | |
WASI_VERSION_FULL: "20.0" | |
WASI_SDK_PATH: "/home/runner/wasi-sdk/wasi-sdk-20.0" | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Setup Extism and XTP | |
run: | | |
curl -L https://raw.githubusercontent.com/extism/js-pdk/main/install.sh | bash | |
curl -L https://static.dylibso.com/cli/install.sh | bash | |
- name: Set up Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '21' | |
- name: Install | |
run: | | |
npm ci | |
- name: Build | |
run: | | |
npm run build | |
- name: Run test script | |
run: | | |
make | |
- name: Install WASI SDK | |
run: | | |
mkdir ~/wasi-sdk | |
cd ~/wasi-sdk/ | |
wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz | |
tar xvf wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz | |
~/wasi-sdk/wasi-sdk-${WASI_VERSION_FULL}/bin/clang --version | |
- name: Setup Extism and XTP | |
run: | | |
curl -L https://raw.githubusercontent.com/extism/js-pdk/main/install.sh | bash | |
curl -L https://static.dylibso.com/cli/install.sh | bash | |
- name: Setup .NET Core SDK | |
uses: actions/setup-dotnet@v3.0.3 | |
with: | |
dotnet-version: 8 | |
- name: Install WASI workload | |
run: | | |
dotnet workload install wasi-experimental | |
- name: Run Bindgen Test | |
run: | | |
# we already have a folder named bundle | |
# move it before we get the simulation bundle | |
# TODO change the name | |
mv bundle template-bundle | |
# get the latest release | |
RELEASE_INFO=$(curl -s "https://api.github.com/repos/dylibso/xtp-bindgen-test/releases/latest") | |
ASSET_URL=$(echo $RELEASE_INFO | grep -oP '"browser_download_url": "\K(.*bundle.zip)(?=")') | |
if [ -z "$ASSET_URL" ]; then | |
echo "Asset URL not found. Please check the asset name or the repository." | |
exit 1 | |
fi | |
echo "Downloading the bundle from $ASSET_URL" | |
# download and unzip the bundle | |
curl -L -o bundle.zip "$ASSET_URL" | |
unzip bundle.zip | |
cd bundle/ | |
# Using ../template-bundle so we test the head template | |
echo "Running xtp plugin init" | |
xtp plugin init --schema-file schema.yaml --template ../template-bundle --path exampleplugin --name exampleplugin --feature stub-with-code-samples | |
echo "Running xtp plugin build" | |
xtp plugin build --path exampleplugin | |
echo "Running xtp plugin test" | |
xtp plugin test exampleplugin/dist/plugin.wasm --with test.wasm --mock-host mock.wasm | |