Skip to content

build: CI test bindings typescript-generated libs #9

build: CI test bindings typescript-generated libs

build: CI test bindings typescript-generated libs #9

Workflow file for this run

name: bindings typescript
on: [push, pull_request]
jobs:
test:
name: test generated libraries
runs-on: ubuntu-latest
steps:
- name: Start RPC Server
uses: addnab/docker-run-action@v3
with:
image: stellar/quickstart:soroban-dev@sha256:a6b03cf6b0433c99f2f799b719f0faadbb79684b1b763e7674ba749fb0f648ee
options: -p 8000:8000
run: |
/start --logs --standalone --enable-soroban-rpc &
# for attempt in {1..30}; do sleep 1; if curl -X POST "http://localhost:8000/soroban/rpc" 1> /dev/null 2>& 1; then echo Ready!; break; fi; echo -en "\r\033[KWaiting for server startup... $attempt "; done
- uses: actions/checkout@v3
- uses: stellar/actions/rust-cache@main
- run: rustup target add wasm32-unknown-unknown
- run: rustup update
- run: cargo install soroban-cli --version 0.9.4 # FIXME: install version in this branch; main's broken with quickstart currently
- run: make build-test-wasms
- run: soroban config network add standalone --rpc-url "http://localhost:8000/soroban/rpc" --network-passphrase "Standalone Network ; February 2017"
- run: soroban config identity generate alice
- run: curl "http://localhost:8000/friendbot?addr=$(soroban config identity address alice)"
- name: deploy contract
id: deploy-contract
run: echo "CONTRACT_ID=$(soroban contract deploy --wasm target/wasm32-unknown-unknown/test-wasms/test_custom_types.wasm --source alice --network standalone)" >> "$GITHUB_OUTPUT"
- name: generate lib
env:
CONTRACT_ID: ${{ steps.deploy-contract.outputs.CONTRACT_ID }}
run: soroban contract bindings typescript --wasm target/wasm32-unknown-unknown/test-wasms/test_custom_types.wasm --contract-id $CONTRACT_ID --network standalone --output-dir ./cmd/crates/soroban-spec-typescript/fixtures/test_custom_types --overwrite
- run: npm i && npm run test
working-directory: cmd/crates/soroban-spec-typescript/ts-tests