language: rust rust: - 1.43.0 matrix: include: - os: linux env: TARGET=x86_64-unknown-linux-gnu - os: linux env: TARGET=arm-unknown-linux-gnueabihf services: docker - os: osx env: TARGET=x86_64-apple-darwin - os: linux env: TARGET=wasm-blob services: docker before_install: - rustup component add rustfmt - cargo fmt --all -- --check - rustup component add clippy - BUILD_DUMMY_WASM_BINARY=1 cargo clippy -- -D warnings - rustup default stable - rustup update nightly - rustup target add wasm32-unknown-unknown --toolchain nightly - cargo test --verbose --all install: - | if [ "$TARGET" = "arm-unknown-linux-gnueabihf" ] then docker pull joystream/rust-raspberry fi script: - | if [ "$TARGET" = "arm-unknown-linux-gnueabihf" ] then docker run -u root \ --volume ${TRAVIS_BUILD_DIR}:/home/cross/project \ joystream/rust-raspberry \ build --release sudo chmod a+r ${TRAVIS_BUILD_DIR}/target/${TARGET}/release/joystream-node elif [ "$TARGET" = "wasm-blob" ] then docker build --tag joystream/node \ --file ./devops/dockerfiles/node-and-runtime/Dockerfile \ . docker create --name temp-container-joystream-node joystream/node docker cp temp-container-joystream-node:/joystream/runtime.compact.wasm joystream_runtime.wasm docker rm temp-container-joystream-node else cargo build --release --target=${TARGET} fi before_deploy: - | if [ "$TARGET" = "wasm-blob" ] then export ASSET="joystream_runtime.wasm" else cp ./target/${TARGET}/release/joystream-node . if [ "$TARGET" = "arm-unknown-linux-gnueabihf" ] then export FILENAME="joystream-node-armv7-linux-gnueabihf" else export FILENAME=`./joystream-node --version | sed -e "s/ /-/g"` fi tar -cf ${FILENAME}.tar ./joystream-node gzip ${FILENAME}.tar export ASSET=${FILENAME}.tar.gz fi deploy: - provider: releases api_key: secure: FfxZGQexxAGT0Skbctl1FuqmEvNHejPDPtNG8Du1ACSGjS7Y+M6o/aPqE6HL158AmddOgndsIPR+HM7VfMDAUMkLTbOhv3nMpDBZu1h25vwk+jHOM65tm5LWUu/ROWBpaAQiG7NKrvtfkNfbNBSETsEbWBt/DPrhlIfSbgsXBFDiid7uRrCiwvDUJ097/EUOJ9OVUrk+O4ebSzfIfKPGPtRU2rQQ0eNX7yX3TCm3jbQm/kplkQNRL9mnAJNxtKuvuko4LqZ6jN4XLoLTHUMjO7E0r6wXVB4GVjA4HA214eLlQD6BhgTbWMDxKgWyuKzPG+2GLKyluSSn0RurSl8tYryXKxKxuN3H1FX9r23a8AzGtpRACJtIePC2YmPuQRSnz2Bw8jlSP2WPLJtXGD036J/wVMj6W9TROm7IBigiC7QlqAqCYNByOnoKyhRCgYyAJZb0Jpa3qWaFhA6b6gCGhyH85QCcrc0q6JAB3oqH8Wfm/K2HVzBobmKaSFu5DpwInNnUXnLWGVzhSt3oCq6ld773izReGdLJtLC2vaJ9rZVaVw29s9M662EEuAGgaVLO/sinZJFeIIaCF4i4zUXwXSLIdfKXGOR0ZibkyT2FS6qPGvl/lLN5IREzD7v/rV8htGMLmw4jpPLNskvRjCHX42ewRRYdMvZzQQOAvSlWcsw= file: ${ASSET} on: tags: true repo: Joystream/joystream draft: true overwrite: true skip_cleanup: true - provider: releases api_key: secure: FfxZGQexxAGT0Skbctl1FuqmEvNHejPDPtNG8Du1ACSGjS7Y+M6o/aPqE6HL158AmddOgndsIPR+HM7VfMDAUMkLTbOhv3nMpDBZu1h25vwk+jHOM65tm5LWUu/ROWBpaAQiG7NKrvtfkNfbNBSETsEbWBt/DPrhlIfSbgsXBFDiid7uRrCiwvDUJ097/EUOJ9OVUrk+O4ebSzfIfKPGPtRU2rQQ0eNX7yX3TCm3jbQm/kplkQNRL9mnAJNxtKuvuko4LqZ6jN4XLoLTHUMjO7E0r6wXVB4GVjA4HA214eLlQD6BhgTbWMDxKgWyuKzPG+2GLKyluSSn0RurSl8tYryXKxKxuN3H1FX9r23a8AzGtpRACJtIePC2YmPuQRSnz2Bw8jlSP2WPLJtXGD036J/wVMj6W9TROm7IBigiC7QlqAqCYNByOnoKyhRCgYyAJZb0Jpa3qWaFhA6b6gCGhyH85QCcrc0q6JAB3oqH8Wfm/K2HVzBobmKaSFu5DpwInNnUXnLWGVzhSt3oCq6ld773izReGdLJtLC2vaJ9rZVaVw29s9M662EEuAGgaVLO/sinZJFeIIaCF4i4zUXwXSLIdfKXGOR0ZibkyT2FS6qPGvl/lLN5IREzD7v/rV8htGMLmw4jpPLNskvRjCHX42ewRRYdMvZzQQOAvSlWcsw= file: ${ASSET} on: branch: development repo: Joystream/joystream draft: true prerelease: true overwrite: true skip_cleanup: true