anchor/.travis.yml

80 lines
3.0 KiB
YAML

dist: bionic
language: rust
rust:
- stable
cache: cargo
env:
global:
- NODE_VERSION="14.7.0"
- SOLANA_CLI_VERSION="1.7.4"
git:
submodules: true
_defaults: &defaults
before_install:
- rustup component add rustfmt clippy
- nvm install $NODE_VERSION
- sudo apt-get install -y pkg-config build-essential libudev-dev
_examples: &examples
before_install:
- nvm install $NODE_VERSION
- npm install -g mocha
- npm install -g ts-mocha
- npm install -g typescript
- npm install -g buffer
- cd ts && yarn && yarn build && npm link && cd ../
- npm install -g @project-serum/serum
- npm install -g @project-serum/common
- npm install -g @solana/spl-token
- sudo apt-get install -y pkg-config build-essential libudev-dev
- sh -c "$(curl -sSfL https://release.solana.com/v${SOLANA_CLI_VERSION}/install)"
- export PATH="/home/travis/.local/share/solana/install/active_release/bin:$PATH"
- export NODE_PATH="/home/travis/.nvm/versions/node/v${NODE_VERSION}/lib/node_modules/:$NODE_PATH"
- yes | solana-keygen new
- cargo install --path $TRAVIS_BUILD_DIR/cli anchor-cli --locked
jobs:
include:
- <<: *defaults
name: Build and test Rust
script:
- cargo build
- cargo fmt -- --check
- cargo clippy --all-targets -- -D warnings
- cargo test
- <<: *examples
name: Runs the examples 1
script:
- pushd client/example && ./run-test.sh && popd
- pushd examples/sysvars && anchor test && popd
- pushd examples/composite && anchor test && popd
- pushd examples/errors && anchor test && popd
- pushd examples/spl/token-proxy && anchor test && popd
- pushd examples/multisig && anchor test && popd
- pushd examples/interface && anchor test && popd
- pushd examples/lockup && anchor test && popd
- <<: *examples
name: Runs the examples 2
script:
- pushd examples/misc && anchor test && popd
- pushd examples/events && anchor test && popd
- pushd examples/cashiers-check && anchor test && popd
- pushd examples/typescript && yarn && anchor test && popd
- pushd examples/zero-copy && yarn && anchor test && popd
- pushd examples/chat && yarn && anchor test && popd
- pushd examples/ido-pool && yarn && anchor test && popd
- pushd examples/swap/deps/serum-dex/dex && cargo build-bpf && cd ../../../ && anchor test && popd
- pushd examples/cfo && anchor run test && popd
- <<: *examples
name: Runs the examples 3
script:
- pushd examples/escrow && yarn && anchor test && popd
- pushd examples/pyth && yarn && anchor test && popd
- pushd examples/tutorial/basic-0 && anchor test && popd
- pushd examples/tutorial/basic-1 && anchor test && popd
- pushd examples/tutorial/basic-2 && anchor test && popd
- pushd examples/tutorial/basic-3 && anchor test && popd
- pushd examples/tutorial/basic-4 && anchor test && popd
- pushd examples/tutorial/basic-5 && anchor test && popd