if: (branch = development) OR (branch = master) OR (branch = release/2.14.0) OR (type = pull_request) OR (tag IS present) sudo: required dist: bionic language: node_js node_js: - '12' os: - linux matrix: include: - env: - REACT_APP_NETWORK='mainnet' - REACT_APP_GOOGLE_ANALYTICS=${REACT_APP_GOOGLE_ANALYTICS_ID_MAINNET} - STAGING_BUCKET_NAME=${STAGING_MAINNET_BUCKET_NAME} - REACT_APP_GNOSIS_APPS_URL=${REACT_APP_GNOSIS_APPS_URL_PROD} if: (branch = master AND NOT type = pull_request) OR tag IS present - env: - REACT_APP_NETWORK='rinkeby' - REACT_APP_GOOGLE_ANALYTICS=${REACT_APP_GOOGLE_ANALYTICS_ID_RINKEBY} - REACT_APP_GNOSIS_APPS_URL=${REACT_APP_GNOSIS_APPS_URL_STAGING} - env: - REACT_APP_NETWORK='xdai' - REACT_APP_GOOGLE_ANALYTICS=${REACT_APP_GOOGLE_ANALYTICS_ID_XDAI} - STAGING_BUCKET_NAME=${STAGING_XDAI_BUCKET_NAME} if: (branch = master AND NOT type = pull_request) OR tag IS present - env: - REACT_APP_NETWORK='volta' - REACT_APP_GOOGLE_ANALYTICS=${REACT_APP_GOOGLE_ANALYTICS_ID_VOLTA} - STAGING_BUCKET_NAME=${STAGING_VOLTA_BUCKET_NAME} if: (branch = master AND NOT type = pull_request) OR tag IS present - env: - REACT_APP_NETWORK='energy_web_chain' - REACT_APP_GOOGLE_ANALYTICS=${REACT_APP_GOOGLE_ANALYTICS_ID_EWC} - STAGING_BUCKET_NAME=${STAGING_EWC_BUCKET_NAME} if: ((branch = master OR branch = release/2.14.0) AND NOT type = pull_request) OR tag IS present cache: yarn: true before_script: - if [[ -n "$TRAVIS_TAG" ]]; then export REACT_APP_ENV='production'; fi; - if [ $TRAVIS_PULL_REQUEST != "false" ]; then export PUBLIC_URL="/${REACT_APP_NETWORK}/app"; fi; before_install: # Needed to deploy pull request and releases - sudo apt-get update - sudo apt-get -y install python-pip python-dev libusb-1.0-0-dev libudev-dev - pip install awscli --upgrade --user script: - yarn lint:check - yarn prettier:check - yarn test:coverage - yarn build #- bash ./config/travis/build.sh after_success: # Pull Request - Deploy it to a review environment # Travis doesn't do deploy step with pull requests builds - ./config/travis/deploy_pull_request.sh # Releases (tagged commits) - Deploy it to a release environment - ./config/travis/deploy_release.sh - yarn coveralls deploy: # Development environment - provider: s3 bucket: $DEV_BUCKET_NAME access_key_id: $AWS_ACCESS_KEY_ID secret_access_key: $AWS_SECRET_ACCESS_KEY skip_cleanup: true local_dir: build upload_dir: app region: $AWS_DEFAULT_REGION on: branch: development # Staging environment - provider: s3 bucket: $STAGING_BUCKET_NAME access_key_id: $AWS_ACCESS_KEY_ID secret_access_key: $AWS_SECRET_ACCESS_KEY skip_cleanup: true local_dir: build upload_dir: current/app region: $AWS_DEFAULT_REGION on: branch: master # EWC testing on staging - provider: s3 bucket: $STAGING_BUCKET_NAME access_key_id: $AWS_ACCESS_KEY_ID secret_access_key: $AWS_SECRET_ACCESS_KEY skip_cleanup: true local_dir: build upload_dir: current/app region: $AWS_DEFAULT_REGION on: branch: release/2.14.0 condition: $REACT_APP_NETWORK = energy_web_chain # Prepare production deployment - provider: s3 bucket: $STAGING_BUCKET_NAME secret_access_key: $AWS_SECRET_ACCESS_KEY access_key_id: $AWS_ACCESS_KEY_ID skip_cleanup: true local_dir: build upload_dir: releases/$TRAVIS_TAG region: $AWS_DEFAULT_REGION on: tags: true - provider: script script: ./config/travis/prepare_production_deployment.sh on: tags: true