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



          


               
                  
                    
                
             





                                                                       


                                       
                  


                    


                                              
                     
                                    
                                                                       
 
             
                
             







                                                                              
                                                                                         
                     
                                                                                         
                                                                       




                     


                                                                  
                  
                

              

                                                        
             
                                 
 
















                                                                       
                                             




















                                                                                                                             
                  























































































































                                                                                             
                                                                                         
                                                                                           





                     





















                                                                                                                 
                                                                         


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
language: go
go_import_path: github.com/dexon-foundation/dexon
sudo: false
branches:
  only:
  - dev
  - master
matrix:
  include:
    - os: linux
      dist: xenial
      sudo: required
      go: 1.10.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

    # These are the latest Go versions.
    - os: linux
      dist: xenial
      sudo: required
      go: 1.11.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.11.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
        - PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig go run build/ci.go install
        - travis_retry go run build/ci.go test -coverage $TEST_PACKAGES
      addons:
        homebrew:
          packages:
            - openssl
            - gmp

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

    - os: osx
      go: 1.11.x
      env:
        - smoke-test
      git:
        submodules: false
      script:
        - PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig make all
        - cd test
        - ./run_test.sh --ignore-log
        - cd ..
        - ./build/fullnode-test.sh
      addons:
        homebrew:
          packages:
            - ethereum

    # This builder does the Ubuntu PPA upload
    #- if: type = push
    #  os: linux
    #  dist: trusty
    #  go: 1.11.x
    #  env:
    #    - ubuntu-ppa
    #  git:
    #    submodules: false # avoid cloning ethereum/tests
    #  addons:
    #    apt:
    #      packages:
    #        - devscripts
    #        - debhelper
    #        - dput
    #        - fakeroot
    #  script:
    #    - go run build/ci.go debsrc -signer "Go Ethereum Linux Builder <geth-ci@ethereum.org>" -upload ppa:ethereum/ethereum

    # This builder does the Linux GCP uploads
    - if: type = push
      os: linux
      dist: xenial
      sudo: required
      go: 1.11.x
      env:
        - gcp-linux
      git:
        submodules: false
      addons:
        apt:
          packages:
            - gcc-multilib
      script:
        - make libbls
        - go run build/ci.go install
        - go run build/ci.go archive -type tar -signer LINUX_SIGNING_KEY -upload dexon-builds
        - ./build/bls-arm64.sh
        - go run build/ci.go install -arch arm64 -cc aarch64-linux-gnu-gcc
        - go run build/ci.go archive -arch arm64 -type tar -signer LINUX_SIGNING_KEY -upload
          dexon-builds
    #  BLS lib does not support 32-bit platform
    #  - go run build/ci.go install -arch 386
    #  - go run build/ci.go archive -arch 386 -type tar -signer LINUX_SIGNING_KEY -upload
    #    dexon-builds
    #  - sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes
    #    install gcc-arm-linux-gnueabi libc6-dev-armel-cross gcc-arm-linux-gnueabihf
    #    libc6-dev-armhf-cross gcc-aarch64-linux-gnu libc6-dev-arm64-cross
    #  - sudo ln -s /usr/include/asm-generic /usr/include/asm
    #  - GOARM=5 go run build/ci.go install -arch arm -cc arm-linux-gnueabi-gcc
    #  - GOARM=5 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY
    #    -upload dexon-builds
    #  - GOARM=6 go run build/ci.go install -arch arm -cc arm-linux-gnueabi-gcc
    #  - GOARM=6 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY
    #    -upload dexon-builds
    #  - GOARM=7 go run build/ci.go install -arch arm -cc arm-linux-gnueabihf-gcc
    #  - GOARM=7 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY
    #    -upload dexon-builds
    #- if: type = push
    #  os: linux
    #  dist: trusty
    #  services:
    #  - docker
    #  go: 1.11.x
    #  env:
    #  - gcp-linux-mips
    #  git:
    #    submodules: false
    #  script:
    #  - make libbls
    #  - go run build/ci.go xgo --alltools -- --targets=linux/mips --ldflags '-extldflags
    #    "-static"' -v
    #  - for bin in build/bin/*-linux-mips; do mv -f "${bin}" "${bin/-linux-mips/}";
    #    done
    #  - go run build/ci.go archive -arch mips -type tar -signer LINUX_SIGNING_KEY -upload
    #    dexon-builds
    #  - go run build/ci.go xgo --alltools -- --targets=linux/mipsle --ldflags '-extldflags
    #    "-static"' -v
    #  - for bin in build/bin/*-linux-mipsle; do mv -f "${bin}" "${bin/-linux-mipsle/}";
    #    done
    #  - go run build/ci.go archive -arch mipsle -type tar -signer LINUX_SIGNING_KEY
    #    -upload dexon-builds
    #  - go run build/ci.go xgo --alltools -- --targets=linux/mips64 --ldflags '-extldflags
    #    "-static"' -v
    #  - for bin in build/bin/*-linux-mips64; do mv -f "${bin}" "${bin/-linux-mips64/}";
    #    done
    #  - go run build/ci.go archive -arch mips64 -type tar -signer LINUX_SIGNING_KEY
    #    -upload dexon-builds
    #  - go run build/ci.go xgo --alltools -- --targets=linux/mips64le --ldflags '-extldflags
    #    "-static"' -v
    #  - for bin in build/bin/*-linux-mips64le; do mv -f "${bin}" "${bin/-linux-mips64le/}";
    #    done
    #  - go run build/ci.go archive -arch mips64le -type tar -signer LINUX_SIGNING_KEY
    #    -upload dexon-builds
    #- if: type = push
    #  os: linux
    #  dist: trusty
    #  addons:
    #    apt:
    #      packages:
    #      - oracle-java8-installer
    #      - oracle-java8-set-default
    #  language: android
    #  android:
    #    components:
    #    - platform-tools
    #    - tools
    #    - android-15
    #    - android-19
    #    - android-24
    #  env:
    #  - gcp-android
    #  - maven-android
    #  git:
    #    submodules: false
    #  before_install:
    #  - curl https://storage.googleapis.com/golang/go1.11.1.linux-amd64.tar.gz | tar
    #    -xz
    #  - export PATH=`pwd`/go/bin:$PATH
    #  - export GOROOT=`pwd`/go
    #  - export GOPATH=$HOME/go
    #  script:
    #  - make libbls
    #  - curl https://dl.google.com/android/repository/android-ndk-r17b-linux-x86_64.zip
    #    -o android-ndk-r17b.zip
    #  - unzip -q android-ndk-r17b.zip && rm android-ndk-r17b.zip
    #  - mv android-ndk-r17b $HOME
    #  - export ANDROID_NDK=$HOME/android-ndk-r17b
    #  - mkdir -p $GOPATH/src/github.com/dexon-foundation/dexon
    #  - ln -s `pwd` $GOPATH/src/github.com/dexon-foundation/dexon
    #  - go run build/ci.go aar -signer ANDROID_SIGNING_KEY -deploy https://oss.sonatype.org
    #    -upload dexon-builds
    - if: type = push
      os: osx
      go: 1.11.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-builds
      addons:
        homebrew:
          packages:
            - openssl
            - gmp

    #  - gem uninstall cocoapods -a -x
    #  - gem install cocoapods
    #  - mv ~/.cocoapods/repos/master ~/.cocoapods/repos/master.bak
    #  - sed -i '.bak' 's/repo.join/!repo.join/g' $(dirname `gem which cocoapods`)/cocoapods/sources_manager.rb
    #  - if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then git clone --depth=1 https://github.com/CocoaPods/Specs.git
    #    ~/.cocoapods/repos/master && pod setup --verbose; fi
    #  - xctool -version
    #  - xcrun simctl list
    #  - export CGO_CFLAGS_ALLOW='-fmodules|-fblocks|-fobjc-arc'
    #  - go run build/ci.go xcode -signer IOS_SIGNING_KEY -deploy trunk -upload dexon-builds
    - if: type = cron
      os: linux
      dist: trusty
      go: 1.11.x
      env:
        - gcp-purge
      git:
        submodules: false
      script:
        - go run build/ci.go purge -store dexon-builds -days 14
before_install:
  - openssl aes-256-cbc -K $encrypted_556a2b2ff7f6_key -iv $encrypted_556a2b2ff7f6_iv
    -in .ci/DEXON-7548b3622930.json.enc -out ./DEXON-7548b3622930.json -d
notifications:
  slack:
    secure: A97rF68wXOO74Q+kriJdNpXpIQOruGnrRWaAfvqkpWM3Xyd6Qc8ba22n/GdzCWeJt1ZPP2Zqx8gSGmkUjKTq4PUWshbvLZA0KL/OoBnMxrdGLn/tissny9l1iaSm/K2rV9J2IYKu5MESjWh4K7mYfQJ7UvefBeTsiNgtu8FewEbQCmnlE4NgWUo5zADRAGTkCky3wP7OIxl0pEg9wZi2ws9GnmMzb5MsuJHCY2l2RVpmFnvvhiZWlq3k6wNy2FDKmePFU/sBTOGs1XQbfW3dbJHmi+e32Z5vrq3Th6DxmEC/St0Nf0CXvGDe8xYqyGqrNTzOmHuKQdORUZSYLgX4cz4caPEwGoxz1wdLnVNAz6vIH6zcSX0FJx+oZYhbQmrXJXBOLnDdjoectwC+S/f7yFUdmNfa7pD3ZqdCmrvnr4HomRx8YrOd2cG+A1+K81VnlImbo0Ot5Ppj8rE+Jgqb1Bl0Ngm9RNHMN8JJrGy6vWmaCQz/+LwijiZiBLV5lQBeFxE9JGcGiVgaH03MpXo6qdxS2VLRbsb9bf03YZWP6CdSqGuN88egZZvJVTGdKGH3NkDcyHhtJWNREEo5MTz3pzJCWtC5EsplTgFohRF1qr5ZWkDCODTAH2fLgxRXeMvCr4WVca9P2hvm+3LUxgMxiZEyhjWH4EcZnAbbG/FL4fo=