diff --git a/.github/workflows/bindings-ts.yml b/.github/workflows/bindings-ts.yml index 0d2e29048c..15a67dd726 100644 --- a/.github/workflows/bindings-ts.yml +++ b/.github/workflows/bindings-ts.yml @@ -8,37 +8,34 @@ on: jobs: test: name: test generated libraries - runs-on: ubuntu-22.04 - services: - rpc: - image: stellar/quickstart:testing - ports: - - 8000:8000 - env: - ENABLE_LOGS: true - NETWORK: local - ENABLE_SOROBAN_RPC: true - options: >- - --health-cmd "curl --no-progress-meter --fail-with-body -X POST \"http://localhost:8000/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 + strategy: + fail-fast: false + matrix: + sys: + # x64 + - ubuntu-latest-16-cores + # ARM + - ubuntu-jammy-16-cores-arm64 + # Intel + - macos-13 + exclude: + # Only run Linux x64 tests on pull request to save some time + - sys: ${{ github.event_name != 'push' && 'ubuntu-jammy-16-cores-arm64' }} + - sys: ${{ github.event_name != 'push' && 'macos-13' }} + runs-on: ${{ matrix.sys }} steps: + - uses: stellar/quickstart@main + with: + tag: testing - uses: actions/setup-node@v4 with: node-version: '22.x' - 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') }} + - uses: stellar/actions/rust-cache@main - run: rustup update - - run: sudo apt update && sudo apt install -y libdbus-1-dev libudev-dev + - name: install optional dependencies (Linux only) + run: sudo apt update && sudo apt install -y libdbus-1-dev libudev-dev + if: runner.os == 'Linux' - run: cargo build - run: rustup target add wasm32-unknown-unknown - run: make build-test-wasms