Commit graph

5614 commits

Author SHA1 Message Date
Mikhail Shilkov 9dbb5a979a Publish Pulumi.Automation as a preview NuGet 2021-02-19 12:09:04 +01:00
Justin Van Patten fac20ddf6b
[codegen/python] Emit pulumiplugin.json in the correct dir (#6385)
This new optional file can be used to include additional metadata about the provider plugin (such as version and custom server URL), which the Python language host will use when determining a program's required plugins.

This change fixes the codegen to emit the file in the correct location (inside the package dir). Note: Providers need to opt-in to emitting this file via a schema option (because it requires some Makefile changes to insert the version in the file) and we haven't done that with any of our providers yet.
2021-02-18 13:36:36 -08:00
stack72 af10965382 Fixing up CHANGELOG after v2.21.1 patch 2021-02-18 20:24:52 +00:00
Mikhail Shilkov c94b3adbe0
Merge pull request #6382 from orionstudt/auto/stack-manip-test
[Automation API] - resolve stack manipulation test assertions
2021-02-18 20:29:05 +01:00
Joshua Studt 6ae9a1ecf5 revert changelog update 2021-02-18 13:32:51 -05:00
Komal ca5ab18f6d
[sdk/python] - Allow Output.all with no inputs (#6381) 2021-02-18 10:11:13 -08:00
Joshua Studt 6dbb2cb3fe update changelog 2021-02-18 12:56:08 -05:00
Joshua Studt 2f47060f83 resolve stack manipulation test issue by not making assertions about entire stack collection, plugin manipulation test as example 2021-02-18 12:52:48 -05:00
Mikhail Shilkov be34dd68da
Merge pull request #6376 from pulumi/mikhailshilkov/fsharp-stack-options
Support StackOptions in F# functions
2021-02-18 15:48:39 +01:00
Mikhail Shilkov ed3d7449af Changelog 2021-02-18 14:08:15 +01:00
UnoSD c42d39a24f Support StackOptions in F# functions 2021-02-18 14:08:15 +01:00
Mikhail Shilkov 1ccfd7413e
Fix serialization tests of .NET Automation (#6375) 2021-02-18 14:03:27 +01:00
Josh Studt 963b5ab710
[Automation API] - C# Implementation (#5761)
* Init Workspace interface for C# Automation API

* fleshing out workspace interface and beginning of local workspace implementation

* initial run pulumi cmd implementation

* resolve issue with pulumi cmd cleanup wrapper task after testing

* flesh out local workspace implementation, flesh out stack implementation, cleanup run pulumi cmd implementation and make it an instance so it is mockable/testable, separate serialization in prep for custom converters

* project settings json serialization implemented

* Initial commit of language server

* Add deployment from language server

* Cleanup

* finish json serialization

* project runtime yaml serialization completed. just need stack config value yaml serialization

* Remove typed argument

* Limit concurrency

* Rename file for consistency

* final commit of a semi-working project settings & stack settings serialization so that it is in the commit history

* modify workspace API so that settings accessors aren't fully exposed since we are defering a complete serialization implementation until a later date

* yaml converters wrap any outgoing exceptions so resolve that

* getting the beginning of inline program GRPC communication set up

* stack lifecycle operations implemented, and switched to newtonsoft for JSON serialization

* change back to system.text.json with a custom object converter

* local workspace tests written, working on getting them passing

* fix the encoding on the GO files used for testing

* all tests passing except inline program, pulumi engine not available with inline

* inline program engine is now running as expecting, but inline program is not recognizing local stack config

* All tests passing, but no concurrency capability because of the singleton DeploymentInstance.

* cleanup unnecessary usings

* minor cleanup / changes after a quick review. Make sure ConfigureAwait is used where needed. Remove newtonsoft dependency from testing. Update workspace API to use existing PluginKind enum. Modify LanguageRuntimeService so that its semaphore operates process-wide.

* support for parallel execution of inline program, test included

* Update LocalWorkspaceTests.cs

remove some redundancy from the inline program parallel execution text

* flesh out some comments and make asynclocal instance readonly

* Strip out instance locking since it is no longer necessary with AsyncLocal wrapping the Deployment.Instance. Modify CreateRunner method such that we are ensuring there isn't a chance of delayed synchronous execution polluting the value of Deployment.Instance across calls to Deployment.RunAsync

* resolve conflicts with changes made to Deployment.TestAsync entrypoints

* update changelog

* write a test that fails if the CreateRunnerAndRunAsync method on Deployment is not marked async and fix test project data file ref

* make resource package state share the lifetime of the deployment so that their isn't cross deployment issues with resource packages, add support and tests for external resource packages (resource packages that aren't referenced by the executing assembly)

* enable parallel test collection execution in test suite, add some additional tests for deployment instance protection and ensuring that our first class stack exceptions are thrown when expected

* minor inline project name arg change, and re-add xunit json to build output (whoops)

* strip out concurrency changes since they are now in #6139, split automation into separate assembly, split automation tests into separate assembly

* add copyright to the top of each new file

* resolve some PR remarks

* inline program exception is now properly propagated to the caller on UpAsync and PreviewAsync

* modify PulumiFn to allow TStack and other delegate overloads without needing multiple first class delegates.

* whoops missing a copyright

* resolve getting TStack into IRunner so that outputs are registered correctly and so that there isn't 2 instances of Pulumi.Stack instantiated.

* resolve issue with propagation of TStack exceptions and add a test

* add support for a TStack PulumiFn resolved via IServiceProvider

* update automation API description

* fix comment and remove unnecessary TODOs

* disable packaging of automation api assembly

* re-name automation api documentation file appropriately

* add --limit support to dotnet automation api for stack history per #6257

* re-name XStack as WorkspaceStack

* replace --limit usage with --page-size and --page in dotnet automation api per #6292

Co-authored-by: evanboyle <evan@pulumi.com>
Co-authored-by: Josh Studt <josh.studt@figmarketing.com>
Co-authored-by: Dan Friedman <dan@thefriedmans.org>
Co-authored-by: David Ferretti <David.Ferretti@figmarketing.com>
Co-authored-by: Mikhail Shilkov <github@mikhail.io>
2021-02-18 11:36:21 +01:00
Justin Van Patten 8d5e9bcd6e
Fix copy/paste bug in provider_server.go (#6370) 2021-02-17 16:56:47 -08:00
stack72 82967d3272 removing arm64 build from binaries whilst waiting on upgrade to go1.16 2021-02-17 20:42:48 +00:00
stack72 37a8fde1a6 Merge branch 'format-changelog-v2.21.0' 2021-02-17 20:17:45 +00:00
Paul Stack 65af508a5a
Removing arm64 as this repository is not using go1.16 and will fail (#6367) 2021-02-17 19:47:26 +00:00
stack72 8de877bc4b Formatting the changelog in preparation for v2.21.0 2021-02-17 19:07:28 +00:00
Komal a6b6437b49
[Automation] Fix python nested config parsing (#6349) 2021-02-17 10:16:35 -08:00
Komal b6f548a599
[sdk/python] - Define __all__ for better autocomplete. (#6351) 2021-02-17 09:09:10 -08:00
Komal f4f5aaf500
[codegen/docs] - More doc title fixes (#6357) 2021-02-17 09:08:19 -08:00
Komal ae91a277df
[codegen/docs] - Standardize function and resource titles. (#6325) 2021-02-16 20:03:06 -08:00
Ringo De Smet bcd14d8060
Automation API Go SDK: Expsoe the version in the UpdateSummary struct. (#6339) 2021-02-16 12:16:41 -08:00
Justin Van Patten 0fe4978a7a
[sdk/nodejs] Update @grpc/grpc-js dependency (#6341) 2021-02-16 08:46:32 -08:00
Paul Stack 66052f5d29
Ensure changes to pkg/codegen/docs run PR build (#6340) 2021-02-16 16:09:43 +00:00
Paul Stack 6479653f77
Fixing build of test TestResourceNestedPropertyPythonCasing inpkg/codegen (#6336) 2021-02-15 23:56:09 +00:00
Alex Mullans bae57e1362
Merge pull request #6320 from pulumi/infin8x/templates-and-automation
Consolidate issue templates
2021-02-12 17:01:41 -08:00
Levi Blackstone a1fc0d2095
[codegen/docs] Add environment variable info to Provider inputs (#6330)
The schema specifies supported environment variables
for Provider inputs, but these are not currently reflected
in the generated docs. This change adds any supported
environment variables to the input property comment
field on Provider resources.

Co-authored-by: Justin Van Patten <jvp@justinvp.com>
2021-02-12 17:11:56 -07:00
Justin Van Patten bdc309bb4a
[codegen/python] Fix issues related to referencing external resources/types (#6328)
- Fix bugs referencing external resources/types
- Fix circular import issue
- Avoid panic when referencing external nested types
2021-02-12 15:54:19 -08:00
Luke Hoban f4b0fa86fe
Don't mutate the opts argument in resource constructors in Node.js (#6321) 2021-02-13 05:10:59 +11:00
Justin Van Patten d02c0b1152
Default to UseAutomaticVirtualEnv in integration tests (#6318)
This way, the tests use the built-in virtual environment support by
default, which is what most customers will be using. A new `UsePipenv`
option is available to go back to using pipenv for tests.
2021-02-11 18:16:07 -08:00
Alex Mullans 6f267a9c0b Consolidate issue templates 2021-02-11 14:28:04 -08:00
Justin Van Patten f111a53337
Look for python binary first on Windows (#6317)
We previously looked for `python3` and fallback to `python` on all systems. However, our Windows CI images include a `python3.exe` symlink to `python.exe` which does not work with `venv`. So on Windows, just look for `python` first, falling back to `python3`. (The default python.org Windows installation only includes `python.exe`).
2021-02-11 11:34:07 -08:00
Justin Van Patten 066507cd00
Do not specify a specific version of Python on Windows (#6316)
We install the version of Python we need in the CI environment (e.g. 3.9.x).
2021-02-11 08:22:04 -08:00
Justin Van Patten 0059cf205e
Remove dead Python integration tests (#6315)
These test files are no longer used. All the Python integration tests now use venv.
2021-02-11 08:21:50 -08:00
Komal 1a9050eaa6
[sdk/python] - Allow kwargs in Output.all() to create a dict (#6269) 2021-02-11 08:52:46 -07:00
Justin Van Patten 71e8bf4325
Fix Python Windows test failures (#6296)
Update Python tests to use `UseAutomaticVirtualEnv` and set `PythonBin` to `python` on Windows because `python3` doesn't work correctly in the GitHub Action runners.
2021-02-10 16:35:21 -08:00
Evan Boyle 8e58f5d682
Add pagination to pulumi stack history (#6292)
replaces the unreleased `--limit` flag with `--page` and `--page-size` to support full pagination
2021-02-09 16:20:01 -08:00
Christian Nunciato e2b48d2f20
Fix up resource-docs links (#6279)
Co-authored-by: Praneet Loke <1466314+praneetloke@users.noreply.github.com>
2021-02-09 09:04:02 -08:00
Evan Boyle 808483218e
fix linting errors in pkg (#6281) 2021-02-08 13:13:55 -08:00
Evan Boyle 3ba0c219db
fix lint error in Go SDK (#6276) 2021-02-08 12:09:20 -08:00
Paul Stack 5401057561
Move linting check into command-dispatch job (#6277)
This fixes not picking up linting issues when sending a PR as
the PR job uses `pull_request_target` which in turn only checks out
from master which is a security measure
2021-02-08 19:55:02 +00:00
Evan Boyle eefc104c2b
Add --limit flag to pulumi stack history and consume from automation api (#6257)
Adds a `--limit` flag to `pulumi stack history. This allows limiting to the last few entries rather than fetching the entirety of a stack's update history (which can be quite slow for stacks with lots of updates). Example: `pulumi stack history --limit 1` fetches the last history entry only. 

`stack.up` and related operations in the Automation API have been updated to consume this change, drastically reducing overhead.
2021-02-08 10:49:57 -08:00
Paul Stack a045a613f2
Revert "Split the windows build + testing to be separate jobs to allow for future language matrix tests" (#6274)
This reverts commit 2e695196ae.
2021-02-08 17:02:20 +00:00
Paul Stack 220f138120
Revert "Ensuring all of the windows cmd binaries are included in the master builds" (#6275)
This reverts commit 3ee48c64ed.
2021-02-08 17:01:59 +00:00
Paul Stack 3ee48c64ed
Ensuring all of the windows cmd binaries are included in the master builds (#6273) 2021-02-08 17:01:30 +00:00
stack72 ee5fd19a1b Forcing update of homebrew formulae before install pulumi in download cron 2021-02-08 11:22:16 +00:00
Paul Stack 2e695196ae
Split the windows build + testing to be separate jobs to allow for future language matrix tests (#6193) 2021-02-08 11:17:47 +00:00
stack72 6c9635c508 Updating the installation of Pulumi in the download cron tester 2021-02-07 19:36:02 +00:00
Christian Nunciato 40ce511a2b
Remove language SDK blocks from resource templates (#6270) 2021-02-07 19:31:05 +00:00