jobs: include: - os: linux - if: type IN (push, api, cron) os: osx language: go go: 1.9 sudo: true # give us 7.5GB and >2 bursted cores. before_install: - export PULUMI_ROOT=/opt/pulumi # on OSX, /opt/ is not writeable by normal users, so we create /opt/pulumi as root and take ownership of it - if [ "$TRAVIS_OS_NAME" == "osx" ]; then sudo mkdir /opt/pulumi && sudo chown $USER /opt/pulumi; fi # Travis only fetches 50 commits by default, and we want them all so we can do git describe --tags - git fetch --unshallow # Dep for Go dependency management. - go get -v github.com/golang/dep/cmd/dep # Gometalinter for good Go linting/hygiene. - go get -v github.com/alecthomas/gometalinter - gometalinter --install # gocovmerge for Go code coverage. - go get -v github.com/wadey/gocovmerge # Node.js 6.10.2 for all JavaScript code (to match AWS Lambda). - nvm install v6.10.2 # Install Yarn as per https://yarnpkg.com/lang/en/docs/install-ci/#travis-tab. - curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.2.1 - export PATH=$HOME/.yarn/bin:$PATH - export PIP=pip # On OSX, the place pip installs user commands to is not on the $PATH and also pip is called pip2.7 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PATH=$PATH:$HOME/Library/Python/2.7/bin; export PIP=pip2.7; fi # Install the AWS CLI so that we can publish the resulting release (if applicable) at the end. - $PIP install --upgrade --user awscli cache: yarn: true install: # Clone the Pulumi-wide repo so we can use its scripts. - git clone git@github.com:pulumi/home ${GOPATH}/src/github.com/pulumi/home - make ensure before_script: # Ensure the working tree is clean (make ensure may have updated lock files) - ${GOPATH}/src/github.com/pulumi/home/scripts/check-worktree-is-clean.sh # Set stdout back to blocking to avoid problems writing large outputs. # The call to `nvm` above may have changed it. # https://github.com/pulumi/pulumi-ppc/issues/176 - python -c 'import fcntl, os, sys; flags = fcntl.fcntl(sys.stdout, fcntl.F_GETFL); print("stdout was " + ("nonblocking" if flags & os.O_NONBLOCK else "blocking")); fcntl.fcntl(sys.stdout, fcntl.F_SETFL, flags & ~os.O_NONBLOCK)' script: - make travis_${TRAVIS_EVENT_TYPE} TEST_FAST_TIMEOUT=10m notifications: webhooks: https://ufci1w66n3.execute-api.us-west-2.amazonaws.com/stage/travis