aboutsummaryrefslogblamecommitdiffstats
path: root/.travis.yml
blob: b4bba602e55a46e51a8e71c2114ab5dba9dc97be (plain) (tree)
1
2
3
4
5
6
7
8
9
            
                                                 
           

         
      

          
                         


               
                  
                    
                
             


                                              
                     
                                    
                                                                       
 
             
                
             







                                                                              
                                                                                         
                     
                                    
                                                                       


                   
                 


                                                                  
                  
                

              

                                                        
             
                                 
 
                


                  




                         


                                 
                   
                 
                                    

                                  

                           
                                               

                                  
 
                                             











                                    
                                                                                                  

                 

                     
                







                         

                                                                                                


                   

                 

                     

                  




                         
                                                                    
               
                                                                                   
                                                                                 


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
language: go
go_import_path: github.com/dexon-foundation/dexon
sudo: false
branches:
  only:
  - vm
  - 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
before_install:
- openssl aes-256-cbc -K $encrypted_556a2b2ff7f6_key -iv $encrypted_556a2b2ff7f6_iv
  -in .ci/dexon-prod-3d1adb575af2.json.enc -out ./dexon-prod-3d1adb575af2.json -d
notifications:
  slack:
    secure: A97rF68wXOO74Q+kriJdNpXpIQOruGnrRWaAfvqkpWM3Xyd6Qc8ba22n/GdzCWeJt1ZPP2Zqx8gSGmkUjKTq4PUWshbvLZA0KL/OoBnMxrdGLn/tissny9l1iaSm/K2rV9J2IYKu5MESjWh4K7mYfQJ7UvefBeTsiNgtu8FewEbQCmnlE4NgWUo5zADRAGTkCky3wP7OIxl0pEg9wZi2ws9GnmMzb5MsuJHCY2l2RVpmFnvvhiZWlq3k6wNy2FDKmePFU/sBTOGs1XQbfW3dbJHmi+e32Z5vrq3Th6DxmEC/St0Nf0CXvGDe8xYqyGqrNTzOmHuKQdORUZSYLgX4cz4caPEwGoxz1wdLnVNAz6vIH6zcSX0FJx+oZYhbQmrXJXBOLnDdjoectwC+S/f7yFUdmNfa7pD3ZqdCmrvnr4HomRx8YrOd2cG+A1+K81VnlImbo0Ot5Ppj8rE+Jgqb1Bl0Ngm9RNHMN8JJrGy6vWmaCQz/+LwijiZiBLV5lQBeFxE9JGcGiVgaH03MpXo6qdxS2VLRbsb9bf03YZWP6CdSqGuN88egZZvJVTGdKGH3NkDcyHhtJWNREEo5MTz3pzJCWtC5EsplTgFohRF1qr5ZWkDCODTAH2fLgxRXeMvCr4WVca9P2hvm+3LUxgMxiZEyhjWH4EcZnAbbG/FL4fo=