pulumi/.travis.yml

45 lines
1.9 KiB
YAML

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
script:
- make travis_${TRAVIS_EVENT_TYPE}
notifications:
webhooks: https://ufci1w66n3.execute-api.us-west-2.amazonaws.com/stage/travis