Commit graph

63 commits

Author SHA1 Message Date
Matt Ellis
0fc10ec757 Only build master, release/* and tags
Our use of parens around the individual clauses of our if condition
seemed to cause Travis to ignore the condition and build
regardless. I've asked Travis about this, but for now, drop them (with
a comment) so we stop building pushes for topic branchs.
2018-02-12 15:13:55 -08:00
Joe Duffy
a74aa51662
Rename pulumi package to @pulumi/pulumi (#917)
In order to begin publishing our core SDK package to NPM, we will
need it to be underneath the @pulumi scope so that it may remain
private.  Eventually, we can alias pulumi back to it.

This is part of pulumi/pulumi#915.
2018-02-12 13:13:13 -08:00
Matt Ellis
60006f352a Build release branches in CI 2018-02-09 13:42:16 -08:00
Matt Ellis
70f9dc0a97 Disable yarn cache in Travis 2018-01-29 11:49:42 -08:00
Matt Ellis
0ebfa0570c Build tags in addition to master
Previously, we used safelisting to ensure we only build the master
branch on push jobs. Because Travis treated branches and tags as the
same thing when it came to safelisting, it meant that pushes of tags
did not cause builds.

Our versioning workflow requires that we rebuild on tag pushes,
because the tag plays into the version number we embed in our programs
and packages.

Instead, we move to the new Conditional Builds feature of Travis to
also allow us to build tags.

Part of pulumi/sdk#11
2018-01-26 14:45:52 -08:00
Matt Ellis
c506549a25 Remove MustFprintf in favor of explicitly dropping errors
In travis, we've seen cases where writes to our standard streams
results in an error like: `/dev/stderr: resource temporarily
unavailable` which causes the tests to panic.

Now, in a perfect world, writes to /dev/stderr would not fail in this
way, but we do not live in a perfect world. Other processes on the
machine may make stderr/stdout non-blocking. We've are now seeing this
failure in Travis more often and it is masking real Pulumi failures
we want to debug.
2018-01-16 18:33:44 -08:00
Matt Ellis
aa8f8eadcd Update .travis.yml
- Only build 'master' on push jobs
- Use Travis's built in support for cloning the entire repository
2018-01-12 17:24:17 -08:00
Matthew Riley
372ab5ea5d Copy failed test data from Travis to S3 2018-01-08 13:46:21 -08:00
Matthew Riley
ebccf19b52 Reset nonblocking state for stdout before running tests
In Travis, Node sees that `stdout` is a pipe and sets it to nonblocking.
Go's standard library isn't prepared for `stdout` to be nonblocking, so
sometimes long print statements can fail.
2018-01-04 22:53:48 -08:00
joeduffy
b3ee139b91 Fix error message for stack select failures 2017-12-28 16:51:53 -08:00
Matt Ellis
b0efb6960d Check that worktree is clean before running
Without this, we miss cases where the lock files may need to be
updated and we encode a version like v0.9.5-dirty.
2017-12-19 18:32:39 -08:00
Pat Gavlin
d5f4e0c84b Bump the test timeout in CI.
Parameterize the timeout for the fast tests with a default of 2 minutes
that is bumped to 10 minutes in CI due to slow I/O during macOS builds.
2017-12-15 12:12:06 -08:00
Matt Ellis
e8bdb5e6f7 Adjust to the fact that on OSX pip is now spelled pip2.7 2017-11-28 22:01:03 -08:00
Matt Ellis
46c35281ab Adopt new makefile system
See https://github.com/pulumi/home/pull/56 for more details.
2017-11-16 23:56:29 -08:00
Matt Ellis
1a1c44b71e Update travis webhook 2017-11-15 11:42:26 -08:00
Matt Ellis
8e4b03cfac Point at our build result filtering webhook 2017-11-13 12:05:32 -08:00
Matt Ellis
34fa7f7151 Fetch entire history 2017-11-06 11:07:57 -08:00
Matt Ellis
fc14329cfc Stop using yarn scripts for building
We have Makefiles, so we might as well use them, instead of spliting
build logic across two systems.
2017-10-16 10:47:37 -07:00
Matthew Riley
4daa7ca342 Update to latest version of Yarn 2017-10-13 14:44:08 -07:00
Matt Ellis
9660da4d14 Run Travis on both macOS and Linux
Unlike go binaries (where we can cross compile) the node module that
we publish needs to be built on the platform we publish for. Update
our `.travis.yml` file to also build on macOS and fix the publishing
script so we don't don't cross publish Darwin from Linux. Once we have
CI working for Windows, we'll remove the loop over PUBLISH_GOOS and
each build will publish just the artifacts for the host OS.
2017-10-11 11:40:35 -07:00
Matt Ellis
0a835bd14a Use explicit targets in Makefile for Travis
Defer build and publish logic into the makefiles instead of trying to
use Travis to do so. This let's us sidestep Travis's not great error
handling (see pulumi/home#21 for more details)
2017-09-28 13:12:13 -07:00
Matthew Riley
80364ac68d Publish builds for topic branches
Use $TRAVIS_BRANCH to name published artifact
2017-09-21 17:08:41 -07:00
joeduffy
dcdf780b09 Move after_script steps to script so they fail fast
See https://blog.travis-ci.com/after_script_behavior_changes/.
2017-09-21 15:02:31 -07:00
Joe Duffy
5e3f8041bc Adopt new pulumi/home repo name 2017-09-21 14:09:35 -07:00
joeduffy
2a30a0f5f0 Don't redundantly make configure twice 2017-09-14 14:33:33 -07:00
joeduffy
ba67a72d88 Eliminate unused envvar 2017-09-12 06:53:42 -07:00
joeduffy
791b90aa33 Swap sdk / nodejs 2017-09-11 15:34:06 -07:00
joeduffy
2ef6b89b82 Add one-time Travis make configure in build dir 2017-09-11 15:30:42 -07:00
joeduffy
4c781da93b Add instructions for make configure
And also move the Node.js SDK-specific parts into the sdk/nodejs/ directory.
2017-09-11 15:17:11 -07:00
joeduffy
13df916cfe Put the Node.js SDK bin/ on $PATH for Travis 2017-09-08 06:19:22 -07:00
joeduffy
527aee7b15 Clone pulumi 2017-09-07 21:52:58 -07:00
Joe Duffy
0e3a01c684 Update the publish scripts for the new package structure (#334) 2017-09-07 11:07:52 -07:00
joeduffy
ad54031fb2 Install Node.js 6.10.x in Travis 2017-09-05 10:26:05 -07:00
joeduffy
3ff10edcc4 Add a make configure target
This change adds a `make configure` target, which handles preparing
the environment for building the project.  This includes existing
steps, like dep ensure and yarn installing the Node.js SDK NPM
dependencies, and also includes downloading the right Node.js/V8
includes, putting them in the right place, and then generating the
appropriate node-gyp project files that reference those includes.
2017-09-04 11:35:21 -07:00
joeduffy
1e00bc7db4 Fix up .travis.yml to use Node.js SDK rather than LumiJS 2017-09-04 11:35:21 -07:00
Luke Hoban
2e22c243bc Adopt Go 1.9 in Travis 2017-09-02 12:10:28 -07:00
joeduffy
4ea7a55aca Make all by default 2017-08-06 08:52:32 -07:00
Joe Duffy
5da78c036b Convert to Dep 2017-08-01 18:37:06 -07:00
joeduffy
4699b874db Revert "The Go vendoring saga continues"
This reverts commit f939651c64.

This particular saga appears to never end...
2017-08-01 17:51:38 -07:00
joeduffy
ceec05f627 Fix up a few stale Dep/Godeps references 2017-08-01 15:48:08 -07:00
joeduffy
f939651c64 The Go vendoring saga continues
We are now on our fourth vendoring tool: Govendor.  This appears to
be about 10X faster than Dep, fails less frequently, and has a rich,
well documented set of commands (that make far more intuitive sense
to me, particularly when compared to Dep).  I could never really get
Godep to work with vendor/ correctly, whereas Govendor did the trick
right away.  Lastly, Terraform uses it, so we'll probably have fewer
headaches in that department also.
2017-08-01 06:23:14 -07:00
joeduffy
232ed7e248 Goodbye, custom AWS provider code
😥

Preparing to RI the tfbridge branch into master.
2017-07-21 14:41:01 -07:00
joeduffy
dffdb29799 Install the AWS CLI as a prerequisite 2017-07-21 10:18:55 -07:00
joeduffy
f2537ecab8 Force publishes
To workaround the fact that our repos end in a dirty state after
the CI job finishes, I'm adding PUBFORCE=true to the CI script.
pulumi/lumi#300 tracks figuring out the root cause and removing it.
2017-07-21 08:09:23 -07:00
joeduffy
2670e42c93 Publish built binaries upon successful push CI to master
This adds a new make target, publish, that will create a release
package and upload it to an S3 bucket.  This package simply contains
the built CLI plus the core library packages, lumi, lumirt, and lumijs.

This target is invoked automatically at the end of a successful
Travis run against a push to master.
2017-07-20 14:52:40 -07:00
Luke Hoban
1d266e38aa Add Go code coverage reports to nightly tests
Adds a make task to generate code coverage for all Go sources.

That make task re-runs the tests, and can be fairly expensive,
so it is enabled only in the nightly tests for now.

Part of #206.
2017-06-23 16:07:05 -07:00
Joe Duffy
b4e8af9f32 Enable VM-based builds in Travis (#264)
This change enables VM-based builds in Travis, versus the default of
container-based builds.  This will give us more memory (7.5GB rather
than 4GB max), and more compute (~2, bursted rather than 2).  This
may help to fix some of the build/test speed time issues we are seeing.
2017-06-22 17:56:45 -07:00
joeduffy
9179d58eb1 Install GoMetaLinter in Travis
And also rejigger the Makefiles to properly error if it's missing.
2017-06-21 14:23:48 -07:00
Luke Hoban
c265620f28 Makefile updates
Make nightly tests more verbose to avoid 10 minute
timeout in Travis when we have no test output.

Run aws provider tests by default again on full builds.
2017-06-17 15:43:50 -07:00
Luke Hoban
e27549e5c2 Add nightly build target
Adds a nightly build target that runs the long running provider
and examples tests.  Enables travis to run this on cron jobs,
which we will configure to trigger nightly.
2017-06-16 09:53:07 -07:00