.travis.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. dist: bionic
  2. language: rust
  3. rust:
  4. - stable
  5. cache: cargo
  6. env:
  7. global:
  8. - NODE_VERSION="14.7.0"
  9. git:
  10. submodules: true
  11. _defaults: &defaults
  12. before_install:
  13. - rustup component add rustfmt
  14. - nvm install $NODE_VERSION
  15. - sudo apt-get install -y pkg-config build-essential libudev-dev
  16. _examples: &examples
  17. before_install:
  18. - nvm install $NODE_VERSION
  19. - npm install -g mocha
  20. - npm install -g ts-mocha
  21. - npm install -g typescript
  22. - npm install -g buffer
  23. - cd ts && yarn && yarn build && npm link && cd ../
  24. - npm install -g @project-serum/serum
  25. - npm install -g @project-serum/common
  26. - npm install -g @solana/spl-token
  27. - sudo apt-get install -y pkg-config build-essential libudev-dev
  28. - sh -c "$(curl -sSfL https://release.solana.com/v1.6.3/install)"
  29. - export PATH="/home/travis/.local/share/solana/install/active_release/bin:$PATH"
  30. - export NODE_PATH="/home/travis/.nvm/versions/node/v$NODE_VERSION/lib/node_modules/:$NODE_PATH"
  31. - yes | solana-keygen new
  32. - cargo install --path $TRAVIS_BUILD_DIR/cli anchor-cli --locked
  33. jobs:
  34. include:
  35. - <<: *defaults
  36. name: Build and test Rust
  37. script:
  38. - cargo build
  39. - cargo fmt -- --check
  40. - cargo test
  41. - <<: *defaults
  42. name: Build and test TypeScript
  43. script:
  44. - cd ts
  45. - yarn
  46. - yarn build
  47. - <<: *examples
  48. name: Runs the examples 1
  49. script:
  50. - pushd client/example && ./run-test.sh && popd
  51. - pushd examples/sysvars && anchor test && popd
  52. - pushd examples/composite && anchor test && popd
  53. - pushd examples/errors && anchor test && popd
  54. - pushd examples/spl/token-proxy && anchor test && popd
  55. - pushd examples/multisig && anchor test && popd
  56. - pushd examples/interface && anchor test && popd
  57. - pushd examples/lockup && anchor test && popd
  58. - pushd examples/misc && anchor test && popd
  59. - pushd examples/events && anchor test && popd
  60. - pushd examples/cashiers-check && anchor test && popd
  61. - pushd examples/typescript && yarn && anchor test && popd
  62. - pushd examples/zero-copy && yarn && anchor test && popd
  63. - <<: *examples
  64. name: Runs the examples 2
  65. script:
  66. - pushd examples/chat && yarn && anchor test && popd
  67. - pushd examples/ido-pool && yarn && anchor test && popd
  68. - pushd examples/swap/deps/serum-dex/dex && cargo build-bpf && cd ../../../ && anchor test && popd
  69. - pushd examples/pyth && yarn && anchor test && popd
  70. - pushd examples/tutorial/basic-0 && anchor test && popd
  71. - pushd examples/tutorial/basic-1 && anchor test && popd
  72. - pushd examples/tutorial/basic-2 && anchor test && popd
  73. - pushd examples/tutorial/basic-3 && anchor test && popd
  74. - pushd examples/tutorial/basic-4 && anchor test && popd
  75. - pushd examples/tutorial/basic-5 && anchor test && popd