aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: b290da717d1ec586a8abe3c3875faf3aa01ea97a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
language: go
go_import_path: github.com/dexon-foundation/dexon
sudo: false
branches:
  only:
  - dev
  - master
  - /^release\/[\d+\.]+$/
matrix:
  include:
    - os: linux
      dist: xenial
      sudo: required
      go: 1.12.x
      script:
        - sudo modprobe fuse
        - sudo chmod 666 /dev/fuse
        - sudo chown root:$USER /etc/fuse.conf
        - make libbls
        - go run build/ci.go install
        - travis_retry go run build/ci.go test -coverage $TEST_PACKAGES

    - os: osx
      go: 1.12.x
      script:
        - echo "Increase the maximum number of open file descriptors on macOS"
        - NOFILE=20480
        - sudo sysctl -w kern.maxfiles=$NOFILE
        - sudo sysctl -w kern.maxfilesperproc=$NOFILE
        - sudo launchctl limit maxfiles $NOFILE $NOFILE
        - sudo launchctl limit maxfiles
        - ulimit -S -n $NOFILE
        - ulimit -n
        - unset -f cd # workaround for https://github.com/travis-ci/travis-ci/issues/8703
        - make libbls
        - go run build/ci.go install
        - travis_retry go run build/ci.go test -coverage $TEST_PACKAGES
      addons:
        homebrew:
          packages:
            - gmp

    # This builder only tests code linters on latest version of Go
    - os: linux
      dist: xenial
      go: 1.12.x
      env:
        - lint
      git:
        submodules: false # avoid cloning ethereum/tests
      script:
        - go run build/ci.go lint

    # Smoke test
    - os: linux
      dist: xenial
      go: 1.12.x
      env:
        - smoke-test
      git:
        submodules: false
      script:
        - cd build
        - ./setup_recovery_env.sh
        - cd ..
        - make gdex
        - cd test
        - ./run_test.sh --smoke-test
        - cd ..
        - ./build/fullnode-test.sh
        - pkill -15 -f gdex
        - cd test
        - ./run_test.sh --continue --smoke-test
        - cd ..
        - ./build/recovery-test.sh

    # This builder does the Linux GCP uploads
    #- if: type = push
    #  os: linux
    #  dist: xenial
    #  sudo: required
    #  go: 1.12.x
    #  env:
    #    - gcp-linux
    #  git:
    #    submodules: false
    #  script:
    #    - make libbls
    #    - go run build/ci.go install
    #    - go run build/ci.go archive -type tar -signer LINUX_SIGNING_KEY -upload dexon-prod-builds

    ## OSX uploads
    #- if: type = push
    #  os: osx
    #  go: 1.12.x
    #  env:
    #    - gcp-osx
    #    - gcp-ios
    #    - cocoapods-ios
    #  git:
    #    submodules: false
    #  script:
    #    - make libbls
    #    - PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig go run build/ci.go install
    #    - go run build/ci.go archive -type tar -signer OSX_SIGNING_KEY -upload dexon-prod-builds
    #  addons:
    #    homebrew:
    #      packages:
    #        - gmp

    #- if: type = cron
    #  os: linux
    #  dist: xenial
    #  go: 1.12.x
    #  env:
    #    - gcp-purge
    #  git:
    #    submodules: false
    #  script:
    #    - go run build/ci.go purge -store dexon-prod-builds -days 14