Commit graph

2798 commits

Author SHA1 Message Date
Alex Clemmer 3bd2e6f235 Represent init errors in resource provider proto 2018-07-02 13:32:23 -07:00
Alex Clemmer 08b7b1e76e Make protobuf build more reproducible 2018-07-02 13:31:39 -07:00
Alex Clemmer 2394743c60 Fix the lies in sdk/proto/generate.sh 2018-07-02 13:31:39 -07:00
Matt Ellis 5dd2f10993 Support -s in stack {export, graph, import, output}
Instead of needing you to first select the current stack to use any of
these commands, allow passing `-s <stack-name>` or `--stack
<stack-name>` to say what stack you want to operate on.

These commands still require a `Pulumi.yaml` file to be present, which
is not ideal, but would require a larger refactoring to fix. That
refactoring will happen as part of #1556.

Fixes #1370
2018-07-02 11:42:31 -07:00
joeduffy a5b33c4652 Make a few README tweaks 2018-06-30 11:48:39 -07:00
joeduffy 10300d2098 Add some badges and goodies
This change spiffs up the README a little bit, by adding badges and
other goodies:

* Add a logo image, rather than just text.

* Add some badges

    - Slack
    - NPM version
    - PyPI version
    - GoDoc APIs
    - License

  I'm sure we can add more, but this livens things up a bit.

* Wordsmith the introductory text for SEO and some extra oomph.

* Add a Welcome section with important links to Getting Started,
  Tutorials, Examples, A Tour of Pulumi, Reference Docs, and
  Community Slack.  Pin a nice image of our console to the right.

* Add a Getting Started section which extends the existing "how to
  install" section slightly to cover a bit more ground.  Ultimately,
  pulumi.io is the source of truth here, but having it here seems handy.
2018-06-30 11:37:40 -07:00
joeduffy baef7fc92c Update stale README 2018-06-30 09:55:12 -07:00
Joe Duffy e9ed27792d
Merge pull request #1585 from pulumi/swgillespie/python-throw
Fix an issue where we fail to rethrow exceptions arising from failed …
2018-06-30 08:47:22 -07:00
Sean Gillespie 1db89a1006
Fix an issue where we fail to rethrow exceptions arising from failed resource operations 2018-06-29 16:32:39 -07:00
Sean Gillespie 5d1a3db4aa
Python Language Host Tests (#1577)
* Test the Python language host end-to-end

This commit introduces an end-to-end language host testing framework for
the Python SDK, similar to what already exists for the Node SDK. The
real language host is used to run Pulumi programs written in Python
while mocking out the resource monitor.

* Add new tests

* Print out better diagnostics when the langhost fails to launch

* Use the in-tree executor for testing

* CR: Place tests and code being tested in the same directory for ease of understanding, add a README

* Turns out I misunderstood the semantics of resource registration - fix two tests so that they pass now and fix a few bugs in the test harness
2018-06-29 14:08:58 -07:00
Matt Ellis 2b471bda70 Add pulumi whoami
It's often helpful to understand the user the CLI thinks you are
logged in as, so let's add a command that does that.

Fixes #1507
2018-06-28 10:33:59 -07:00
Sean Gillespie c2b2f3b117
Initial Python 3 port of the Python SDK (#1563)
* Machine-assisted Python 3 port

* Hack around protoc python imports

* Regenerate gRPC and protobuf

* CR: Bash code cleanup
2018-06-26 11:14:03 -07:00
Matt Ellis cfa58a4b57 Don't require PULUMI_DEBUG_COMMANDS to be set to use local backend
This was an artifact of history. Since we'll be supporting the local
backend, we don't need yet another flag guarding it (you already have
to opt in with -c local:// which is enough of a hoop).
2018-06-25 18:30:26 -07:00
Matt Ellis 45faf10eed Bump windows test timeout
Some of the AppVeyor integration tests are timing out (from time to
time) and I think the deadline of 2 mins is a tad too short. We've
actually done similar bumps for macOS in Travis which was also a
little slow.
2018-06-25 17:31:31 -07:00
Justin Van Patten 2df35f4381
Improve misleading pulumi new summary message (#1571)
Mention running `cd` (if needed) before `pulumi update`.
2018-06-25 16:26:29 -07:00
Sean Gillespie abb0c2769b
Pin to a specific Pipenv version (#1570) 2018-06-25 14:08:56 -07:00
James Nugent 8c22c9da27 build: Update Gopkg.lock with latest dependencies 2018-06-22 11:24:29 -07:00
James Nugent a1e2da3b76 build: Use canonical import path for mobytime
This change fixes the following warning issued by using `go get` with
the Pulumi repository:

package github.com/moby/moby/api/types/time: code in directory
/Users/James/Code/go/src/github.com/moby/moby/api/types/time expects
import "github.com/docker/docker/api/types/time"

Moby defines canonical import paths [1] reflecting the lineage back to
the `docker/docker` repository.

[1]: https://github.com/moby/moby/blob/master/api/types/time/duration_convert.go#L1
2018-06-22 11:24:29 -07:00
James Nugent d6248bb1d5 meta: Ignore IntellJ IDEA project files 2018-06-22 11:24:29 -07:00
Matthew Riley 34be8203dd
Merge pull request #1557 from pulumi/mattdr/build-instructions
Remove instructions using "go get"
2018-06-22 10:48:23 -07:00
Sean Gillespie 89b052fc6d
Use Pipenv to manage Python environments (#1553)
* Use Pipenv to manage Python environments

* Rename PIPENV_ARGS to PIPENV_PYTHON_VERSION to avoid confusion. Also remove two unused variables
2018-06-21 18:01:23 -07:00
Matthew Riley 332937e624 Remove instructions using "go get"
These mostly work, but they don't reflect our dev or CI workflows and are
likely to deviate in frustratingly small ways.
2018-06-21 16:06:11 -07:00
Pat Gavlin 78aaa29cee
Fix httputil.DoWithRetry. (#1555)
If we've hit the maximum number of retry attempts, return `true` for
`done`. As it stands, it is possible for us to return a `nil` error
(e.g. if the request sends successfully but returns a `50x` status) and
`false` for `done`, which `retry.Until` will interpret as "keep
retrying".
2018-06-21 11:06:54 -07:00
CyrusNajmabadi 4cebc381ae
Do a better job preventing serialization of unnecessary objects in closure serialization (#1543) 2018-06-20 12:57:57 -07:00
CyrusNajmabadi 0b0927d257
Fix printing out outputs in a pulumi program. (#1531) 2018-06-18 16:03:26 -07:00
Pat Gavlin 0c8dedec22
Issue an error when attempting to read an invalid Asset. (#1528)
As an alternative we could consider simply returning an empty `Blob`.
I think it's better to fail loudly, though, as this situation can result
from unexpected/invalid archives (which we need to do a better job of
validating).

Fixes #1493.
2018-06-18 11:08:17 -07:00
Matthieu Collé 683f80ded8 docs(readme): fixed typo 2018-06-18 05:29:56 -07:00
joeduffy 4053ce7b86 Remove Private Beta warning 2018-06-18 05:00:38 -07:00
Matt Ellis 1746cc60a2 Fix Windows publishing 2018-06-17 23:16:58 -07:00
Matt Ellis c5b7caa52b
Merge pull request #1506 from pulumi/ellismg/clean-up-build-test-issues
Fix some build and test issues
2018-06-17 23:09:34 -07:00
Matt Ellis 2cfbe81adb Remove dependency on pulumi/home
Stop cloning pulumi/home. This doesn't work in Travis because public
repositories can not have private SSH keys, which we'd need to clone
this repository. All the scripts we consume from there are now in
pulumi/scripts and so we'll just consume them from there.
2018-06-17 22:09:15 -07:00
Sean Gillespie 71f65e65f3
Merge pull request #1522 from pulumi/ellismg/contribute
Add CONTRIBUTING.md
2018-06-17 19:27:03 -07:00
Sean Gillespie e9266a4a07
Add comment about setting GOCACHE to off when using Go 1.10 2018-06-17 17:38:10 -07:00
Matt Ellis 5bd03eade8 Remove extra clause 2018-06-17 16:52:32 -07:00
Matt Ellis 7c5600e955 Add CONTRIBUTING.md 2018-06-17 16:44:26 -07:00
joeduffy 776c538b7f Add a few helpful pointers to the README 2018-06-17 11:15:03 -07:00
joeduffy fcd46c93c5 Settle on just Preview 2018-06-15 13:37:27 -07:00
CyrusNajmabadi 57ee29ebbb
Tweak readme. (#1505) 2018-06-15 13:33:51 -07:00
Matt Ellis 6f80da24d4 Add Apache 2.0 License metadata to Python package 2018-06-15 12:47:51 -07:00
Matt Ellis d0485f11f6 Include Python and Go langhosts in Windows SDK
This change includes the Python and Golang language hosts in the Windows
SDK. As part of this change, I had to adjust how we launched the second
stage of the language host, since we can't depend on the shebang, so now
we invoke `python` passing the executor and then the arguments.

Fixes #1509
2018-06-15 11:12:33 -07:00
Matt Ellis 50c98edd72 Don't set NODE_PATH in dynamic provider
This is a holdover from our old strategy for closure serialization. We
no longer use this module, so we don't need to tell Node where it is
anymore.
2018-06-15 11:12:24 -07:00
Matt Ellis a47babd194 Run export/import rounttrip as part of our lifecycle tests
This allows us to delete the one off export/import test, which is nice
because it failed to run when PULUMI_ACCESS_TOKEN was not set in the
environment (due to an interaction between `pulumi login` and the
bare-bones integration test framework)
2018-06-14 16:01:28 -07:00
Matt Ellis 2669f65b39 Don't dirty work tree when running tests
Because we run our golang integration tests "in tree" (due to
the need to be under $GOPATH and have a vendor folder around), the
"command-output" folder was getting left behind, dirtying the worktree
after building.

This change does two things:

1. On a succecssful run, remove the folder.
2. Ignore the folder via .gitignore (this way if a test fails and you
do `git add .` you don't end up commiting this folder).
2018-06-14 15:58:37 -07:00
Matt Ellis 9ccd07714a Publish SDK builds to get.pulumi.com
Previously, we published builds to rel.pulumi.com and only put actual
released builds (eg. rc's and final builds) on get.pulumi.com. We
should just publish all of the SDK builds to get.pulumi.com.

This also makes a slight tweak to the filename of the package we
upload (we took the switch over to get.pulumi.com to make this change
and now that we are uploading automatically, we need to encode this
change instead of doing it by hand).
2018-06-12 12:23:05 -06:00
Pat Gavlin b47f9ef8ef
Point some scripts to the new scripts repo. (#1499)
All scripts that are generally useful across all builds have been moved
into `pulumi/scripts`. These changes clone that repository and retarget
the various scripts to their new location.
2018-06-12 10:03:43 -07:00
Joe Duffy 12d0f092b1
Merge pull request #1498 from pulumi/login_tidy
Tidy up the login message and colors
2018-06-12 08:46:09 -07:00
joeduffy 7bce92085d Add a colors.Highlight function
This change makes it a little easier to do the style of highlighting
we are doing now with the login prompt, cleaning up some of the
padding calculations that were otherwise complicated due to ANSI
escape sequences.
2018-06-12 08:14:41 -07:00
Matt Ellis f0da3f7c10 Publish to pypi.org 2018-06-12 09:10:54 -06:00
joeduffy f4436416e8 Tidy up the login message and colors
This change makes our login prompt a little "friendlier", especially
important since this will be the first thing a new user sees.

The new message is:

    $ pulumi new
    We need your Pulumi account to identify you.
    Enter your access token from https://app.pulumi.com/account
        or hit <ENTER> to log in using your browser            :
2018-06-12 07:52:22 -07:00
Matthew Riley 1b33dbea53
Merge pull request #1496 from pulumi/zip-dates
Use an even more reasonable modtime in ZIP entries
2018-06-11 20:36:13 -07:00