add test ci #3
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: | |
pull_request: | |
branches: [main] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Setup Extism and XTP | |
run: | | |
curl -O https://raw.githubusercontent.com/extism/js-pdk/main/install.sh | |
sh install.sh | |
curl https://static.dylibso.com/cli/install.sh | sh | |
- 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/ | |
export WASI_VERSION=20 | |
export WASI_VERSION_FULL=${WASI_VERSION}.0 | |
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 | |
- name: Setup Extism and XTP | |
run: | | |
curl -O https://raw.githubusercontent.com/extism/js-pdk/main/install.sh | |
sh install.sh | |
curl https://static.dylibso.com/cli/install.sh | sh | |
- name: Setup .NET Core SDK | |
uses: actions/[email protected] | |
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 | |
# 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 | |
xtp plugin init --schema-file schema.yaml --template ../template-bundle --path exampleplugin --name exampleplugin --feature stub-with-code-samples | |
xtp plugin build --path exampleplugin | |
xtp plugin test exampleplugin/dist/plugin.wasm --with test.wasm --mock-host mock.wasm | |