.travis.yml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. language: rust
  2. rust:
  3. - 1.43.0
  4. matrix:
  5. include:
  6. - os: linux
  7. env: TARGET=x86_64-unknown-linux-gnu
  8. - os: linux
  9. env: TARGET=arm-unknown-linux-gnueabihf
  10. services: docker
  11. - os: osx
  12. env: TARGET=x86_64-apple-darwin
  13. - os: linux
  14. env: TARGET=wasm-blob
  15. services: docker
  16. before_install:
  17. - rustup component add rustfmt
  18. - cargo fmt --all -- --check
  19. - rustup component add clippy
  20. - BUILD_DUMMY_WASM_BINARY=1 cargo clippy -- -D warnings
  21. - rustup default stable
  22. - rustup update nightly
  23. - rustup target add wasm32-unknown-unknown --toolchain nightly
  24. - cargo test --verbose --all
  25. install:
  26. - |
  27. if [ "$TARGET" = "arm-unknown-linux-gnueabihf" ]
  28. then
  29. docker pull joystream/rust-raspberry
  30. fi
  31. script:
  32. - |
  33. if [ "$TARGET" = "arm-unknown-linux-gnueabihf" ]
  34. then
  35. docker run -u root \
  36. --volume ${TRAVIS_BUILD_DIR}:/home/cross/project \
  37. joystream/rust-raspberry \
  38. build --release
  39. sudo chmod a+r ${TRAVIS_BUILD_DIR}/target/${TARGET}/release/joystream-node
  40. elif [ "$TARGET" = "wasm-blob" ]
  41. then
  42. docker build --tag joystream/node \
  43. --file ./devops/dockerfiles/node-and-runtime/Dockerfile \
  44. .
  45. docker create --name temp-container-joystream-node joystream/node
  46. docker cp temp-container-joystream-node:/joystream/runtime.compact.wasm joystream_runtime.wasm
  47. docker rm temp-container-joystream-node
  48. else
  49. cargo build --release --target=${TARGET}
  50. fi
  51. before_deploy:
  52. - |
  53. if [ "$TARGET" = "wasm-blob" ]
  54. then
  55. export ASSET="joystream_runtime.wasm"
  56. else
  57. cp ./target/${TARGET}/release/joystream-node .
  58. if [ "$TARGET" = "arm-unknown-linux-gnueabihf" ]
  59. then
  60. export FILENAME="joystream-node-armv7-linux-gnueabihf"
  61. else
  62. export FILENAME=`./joystream-node --version | sed -e "s/ /-/g"`
  63. fi
  64. tar -cf ${FILENAME}.tar ./joystream-node
  65. gzip ${FILENAME}.tar
  66. export ASSET=${FILENAME}.tar.gz
  67. fi
  68. deploy:
  69. - provider: releases
  70. api_key:
  71. secure: FfxZGQexxAGT0Skbctl1FuqmEvNHejPDPtNG8Du1ACSGjS7Y+M6o/aPqE6HL158AmddOgndsIPR+HM7VfMDAUMkLTbOhv3nMpDBZu1h25vwk+jHOM65tm5LWUu/ROWBpaAQiG7NKrvtfkNfbNBSETsEbWBt/DPrhlIfSbgsXBFDiid7uRrCiwvDUJ097/EUOJ9OVUrk+O4ebSzfIfKPGPtRU2rQQ0eNX7yX3TCm3jbQm/kplkQNRL9mnAJNxtKuvuko4LqZ6jN4XLoLTHUMjO7E0r6wXVB4GVjA4HA214eLlQD6BhgTbWMDxKgWyuKzPG+2GLKyluSSn0RurSl8tYryXKxKxuN3H1FX9r23a8AzGtpRACJtIePC2YmPuQRSnz2Bw8jlSP2WPLJtXGD036J/wVMj6W9TROm7IBigiC7QlqAqCYNByOnoKyhRCgYyAJZb0Jpa3qWaFhA6b6gCGhyH85QCcrc0q6JAB3oqH8Wfm/K2HVzBobmKaSFu5DpwInNnUXnLWGVzhSt3oCq6ld773izReGdLJtLC2vaJ9rZVaVw29s9M662EEuAGgaVLO/sinZJFeIIaCF4i4zUXwXSLIdfKXGOR0ZibkyT2FS6qPGvl/lLN5IREzD7v/rV8htGMLmw4jpPLNskvRjCHX42ewRRYdMvZzQQOAvSlWcsw=
  72. file: ${ASSET}
  73. on:
  74. tags: true
  75. repo: Joystream/joystream
  76. draft: true
  77. overwrite: true
  78. skip_cleanup: true
  79. - provider: releases
  80. api_key:
  81. secure: FfxZGQexxAGT0Skbctl1FuqmEvNHejPDPtNG8Du1ACSGjS7Y+M6o/aPqE6HL158AmddOgndsIPR+HM7VfMDAUMkLTbOhv3nMpDBZu1h25vwk+jHOM65tm5LWUu/ROWBpaAQiG7NKrvtfkNfbNBSETsEbWBt/DPrhlIfSbgsXBFDiid7uRrCiwvDUJ097/EUOJ9OVUrk+O4ebSzfIfKPGPtRU2rQQ0eNX7yX3TCm3jbQm/kplkQNRL9mnAJNxtKuvuko4LqZ6jN4XLoLTHUMjO7E0r6wXVB4GVjA4HA214eLlQD6BhgTbWMDxKgWyuKzPG+2GLKyluSSn0RurSl8tYryXKxKxuN3H1FX9r23a8AzGtpRACJtIePC2YmPuQRSnz2Bw8jlSP2WPLJtXGD036J/wVMj6W9TROm7IBigiC7QlqAqCYNByOnoKyhRCgYyAJZb0Jpa3qWaFhA6b6gCGhyH85QCcrc0q6JAB3oqH8Wfm/K2HVzBobmKaSFu5DpwInNnUXnLWGVzhSt3oCq6ld773izReGdLJtLC2vaJ9rZVaVw29s9M662EEuAGgaVLO/sinZJFeIIaCF4i4zUXwXSLIdfKXGOR0ZibkyT2FS6qPGvl/lLN5IREzD7v/rV8htGMLmw4jpPLNskvRjCHX42ewRRYdMvZzQQOAvSlWcsw=
  82. file: ${ASSET}
  83. on:
  84. branch: development
  85. repo: Joystream/joystream
  86. draft: true
  87. prerelease: true
  88. overwrite: true
  89. skip_cleanup: true