.travis.yml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. language: rust
  2. rust:
  3. - 1.40.0
  4. - stable
  5. - beta
  6. - nightly
  7. # Need to cache the whole `.cargo` directory to keep .crates.toml for
  8. # cargo-update to work
  9. cache:
  10. directories:
  11. - /home/travis/.cargo
  12. # But don't cache the cargo registry
  13. before_cache:
  14. - rm -rf /home/travis/.cargo/registry
  15. matrix:
  16. # Performance tweak
  17. fast_finish: true
  18. # Ignore failures in nightly, not ideal, but necessary
  19. allow_failures:
  20. - rust: nightly
  21. # Only run the formatting check for stable
  22. include:
  23. - name: 'Rust: format check'
  24. rust: stable
  25. install:
  26. - rustup component add rustfmt
  27. script:
  28. - cargo fmt --verbose --all -- --check
  29. addons:
  30. apt:
  31. packages:
  32. - gcc-arm-linux-gnueabihf
  33. - libc6-dev-armhf-cross
  34. - libpulse-dev
  35. - portaudio19-dev
  36. - libasound2-dev
  37. - libsdl2-dev
  38. - gstreamer1.0-dev
  39. - libgstreamer-plugins-base1.0-dev
  40. before_script:
  41. - mkdir -p ~/.cargo
  42. - echo '[target.armv7-unknown-linux-gnueabihf]' > ~/.cargo/config
  43. - echo 'linker = "arm-linux-gnueabihf-gcc"' >> ~/.cargo/config
  44. - rustup target add armv7-unknown-linux-gnueabihf
  45. script:
  46. - cargo build --locked --no-default-features
  47. - cargo build --locked --examples
  48. - cargo build --locked --no-default-features --features "with-tremor"
  49. - cargo build --locked --no-default-features --features "with-vorbis"
  50. - cargo build --locked --no-default-features --features "alsa-backend"
  51. - cargo build --locked --no-default-features --features "portaudio-backend"
  52. - cargo build --locked --no-default-features --features "pulseaudio-backend"
  53. - cargo build --locked --no-default-features --features "jackaudio-backend"
  54. - cargo build --locked --no-default-features --features "rodio-backend"
  55. - cargo build --locked --no-default-features --features "sdl-backend"
  56. - cargo build --locked --no-default-features --features "gstreamer-backend"
  57. - cargo build --locked --no-default-features --target armv7-unknown-linux-gnueabihf
  58. notifications:
  59. email: false
  60. webhooks:
  61. urls:
  62. - https://webhooks.gitter.im/e/780b178b15811059752e
  63. on_success: change # options: [always|never|change] default: always
  64. on_failure: always # options: [always|never|change] default: always
  65. on_start: never # options: [always|never|change] default: always