Skip to content

Multiplatform TS bindings test #1653

Multiplatform TS bindings test

Multiplatform TS bindings test #1653

Workflow file for this run

name: bindings typescript
on:
push:
branches: [main, release/**]
pull_request:
jobs:
test:
name: test generated libraries
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest-16-cores, macos-13, windows-latest-8-cores]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Setup docker (missing on MacOS)
if: runner.os == 'macos'
run: |
brew install docker
brew install colima
colima start
- name: Run quickstart
run: |
docker run -d --name quickstart \
-p 8000:8000 -e ENABLE_LOGS=true -e NETWORK=local -e ENABLE_SOROBAN_RPC=true \
--health-cmd "curl --no-progress-meter --fail-with-body -X POST \"http://localhost:8000/soroban/rpc\" -H 'Content-Type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":8675309,\"method\":\"getNetwork\"}' && curl --no-progress-meter \"http://localhost:8000/friendbot\" | grep '\"invalid_field\": \"addr\"'" \
--health-interval 10s \
--health-timeout 5s \
--health-retries 50 \
stellar/quickstart:testing
until [ "`docker inspect -f {{.State.Health.Status}} quickstart`"=="healthy" ]; do
sleep 0.1;
done;
- run: rustup update
- run: cargo build
- run: rustup target add wasm32-unknown-unknown
- run: make build-test-wasms
- run: npm ci && npm run test
working-directory: cmd/crates/soroban-spec-typescript/ts-tests
- name: quickstart logs
if: always()
run: docker logs quickstart