notifications:
  email: false
language: go
go:
- 1.9.x
sudo: false
dist: trusty
install:
- make mock-install
- make lint-install
- make dep-install
jobs:
  include:
  - stage: Lint & Vendor Check
    script:
      - make lint
      - make vendor-check
  - stage: Test unit and integration
    script: make test-unit-coverage
  - stage: Test e2e on private network
    script: make test-e2e
  - stage: Test e2e on public network
    # Disable running this stage for pushes as it's not needed to run it twice.
    # We only want to check if tests on public testnet pass in a merge build.
    # Also, disable for fork builds as they do not have access to
    # ACCOUNT_PASSWORD environment variable anyway.
    if: (type != push) AND (fork = false)
    script:
      # Sync the chain first. It will time out after 20 minutes. Used network: Rinkeby.
      - make statusgo
      - ./build/bin/statusd -datadir=.ethereumtest/Rinkeby -les -networkid=4 -sync-and-exit=20 -log=WARN -standalone=false -discovery=false
      - make test-e2e networkid=4
cache:
  directories:
  - ".ethereumtest/Mainnet"
  - ".ethereumtest/Rinkeby"
  - ".ethereumtest/Ropsten"
  - ".ethereumtest/StatusChain"
env:
  matrix:
    secure: pKU50Ex43gQUElL7R9U/N6aSUdubA7ypXQeH+qFGu65mb5RAReTPHHnVmO+sEuVoepmy19T3jSfRUWupY8YsLljJpJY12y9UDg22iCbC7AFbvrVWatDIKZVsOFEvtXBiF/gJ8jPHILhm+LytekbnsB1O04YzWb/5ZOlGOxSjfoqmevGJ17vUdnPcIvRzDq41xopITCPaK1cg8PXdZVhvy2FW50hTixRIf1wVmk/qM8LWvTQTf1b+KhA9aZaIV8lzJyQvp5rUcNmQhse9/+sagldBEF4YqXCDsQsaOkXuR4furi66b3QtMKpPftUiitsQXg4R1N25wQje5W6jt/mYaZynJSB4EDF5gTvDElxdQQ352mvBircv3plesUMM2NyEVcuOSNtjQSjdaNdes2MbLIER5qDehJNNv8ZaL3dC4V9dxI/L3ajtUvULBPD39sr2L1xkA7bNsOJHQy4CBU/i8YHsbNdlq55Z8kCueNGTi31tuxjuVsfLZtitLUjJ6l/YF/T5qhoM6UVVLtfk91WCPWgDrJ7NqIMNuo+Rhph0zYvizhB686cL2Vs4tJJEr+9ltaXtxs3msbGLMshTYcHbg4PbBLZXxo0MNpq7zTDUDPkWcBpYP7qfg7Z1f6dZ4Q4tr1WneO5XST547sxjtHIp6+u2XEr5JOj5JDjHCJQoA1c=