language: shell os: linux _defaults: &defaults cache: directories: - $TRAVIS_HOME/.cargo - $TRAVIS_HOME/.rustup - $TRAVIS_HOME/.cache - $TRAVIS_BUILD_DIR/crank/target - $TRAVIS_BUILD_DIR/dex/target services: - docker before_install: - scripts/travis/run-docker.sh install: - mkdir -p bin && ./bpf-sdk-install.sh bin before_cache: - scripts/travis/stop-docker.sh - rm -rf "$TRAVIS_HOME/.cargo/registry/src" _localnet: &localnet language: node_js node_js: - "node" before_script: - npm install -g @solana/web3.js - npx solana-localnet update - npx solana-localnet up jobs: include: - <<: *defaults name: Dex unit tests script: - docker exec dev ./do.sh test dex - <<: *defaults name: Dex integration tests <<: *localnet script: - docker exec dev ./scripts/travis/dex-tests.sh - <<: *defaults name: Safe strict build script: - docker exec dev make -C safe build features=strict - <<: *defaults name: Safe tests <<: *localnet script: - docker exec dev make -C safe init-test - <<: *defaults name: Common script: - docker exec dev cargo fmt -- --check - docker exec -w=/workdir/common dev cargo test --features client