Commit graph

2987 commits

Author SHA1 Message Date
Ian Wahbe 906dce73a1
Emit schema.Package.Version when possible (#7938)
* Emit schema.Package.Version when possible

* Update CHANGELOG_PENDING.md

* Correctly interpret python versions (I hope)

* Update PLUGIN_VERSION to the package version

* Modify tests to conform with master merge
2021-09-17 23:11:54 -07:00
Justin Van Patten d812d16329
[sdk/go] Unmarshal output values in component provider (#7975)
This adds support for unmarshaling output values in the CopyTo helper used when copying inputs to an args struct
2021-09-17 19:46:06 -07:00
Ian Wahbe 7f90e12886
Validate Name, Version and Enviroment (#7896)
* Validate Name, Version and Enviroment

For the full path:
Package.Name
Package.Version
Package.Property.Default

* Update tests

* Update CHANGELOG_PENDING.md

* Add more versions to tests

* Add another "Version" field

* Even more "version" tags

* One more "version" tag added

* Update test results from codegen

* Fix py codegen tests

* Fix doc test

* Remove `version` validation

* Unformat json files

* Fail only on errors
2021-09-17 12:12:22 -07:00
Justin Van Patten ed4b53d3ae
Add monitor feature for output values (#7870) 2021-09-15 14:16:00 -07:00
Ian Wahbe 67303e1b99
Run type checker against all languages (#7931)
We run the best static check we can on generated code, ensuring that it is valid. 

* Run type checker against all languages (not docs)

* Fix package location, add some deps for schemas

* More tests passing

* These tests finally work

* Make linter happy

* Fix tests for merge from master

* Opt out of input-collision(nodejs) test

* Get more visibility into testing nodejs

* Fix type assumption

* Specify ts-node version

* Retrofit typescript dependencies for node14

* Give each go instance it's own module

* Attempt to diagnose remote go mod init failure

* Provide root for go mod init

* Make linter happy
2021-09-15 09:49:36 -07:00
Ian Wahbe 3b7d78c126
Use json.Unmarshal instead of custom parser (#7954)
* Use json.Unmarshal instead of custom parser

* Update CHANGELOG_PENDING.md
2021-09-13 10:49:57 -07:00
Justin Van Patten 0c0684af5c
Initial support for (un)marshaling output values (#7861)
This change expands the definition of `resource.Output` in the Go SDK with additional information about the output, i.e. dependencies and secretness, and adds support in the core Go RPC code for (un)marshaling output values.

Output values are marshaled as special objects ala archives, assets, and resource refs and are unmarshaled as `resource.Output` values.

Subsequent PRs will add:
 - A monitor feature for output values, which will initially be disabled by default but available to turn on via an envvar
 - Support for (un)marshaling output values in each language SDKs
 - A way for providers to indicate support for receiving output values
 - E2E tests
 - Turn the monitor feature on by default (w/ env var to disable) (Note: the current plan is to initially scope this to only be used when marshaling inputs to a multi-language component)
2021-09-13 09:05:31 -07:00
T-Vova e696fb6c50
Implemented filebase64() support for Code Generator (#7863)
* Added filebase64 support for Golang

* Fixed function signature

* Added filebase64 support for Typescript

* Added filebase64 support for Python

* Added filebase64 support for Dotnet, fixed Sha1

* Fixed helper method list

Co-authored-by: Vova Ivanov <jetvova@gmail.com>
2021-09-10 23:09:28 +01:00
Ian Wahbe 5e65204463
Fixup for 7874 (#7921)
* Fix some nits from 7874

This was a premature merge

* Fix #7940

We don't surface recursion warnings if there is no child where `replaceOnChanges` is set.
2021-09-10 14:56:56 -07:00
T-Vova 87e4c92c66
Implemented sha1() support for Code Generator (#7834)
Co-authored-by: Justin Van Patten <jvp@justinvp.com>
Co-authored-by: Vova Ivanov <jetvova@gmail.com>
2021-09-10 21:40:38 +03:00
T-Vova 913173a603
Revert "Fixed "unknown property '0'" error (#7912)" (#7939)
This reverts commit 8f40edc9e0.
2021-09-09 13:36:49 -10:00
T-Vova 8f40edc9e0
Fixed "unknown property '0'" error (#7912)
Co-authored-by: Pat Gavlin <pat@pulumi.com>
Co-authored-by: Vova Ivanov <jetvova@gmail.com>
2021-09-09 22:12:19 +03:00
T-Vova 90c0fa30af
Implemented file reading support for Go code generator (#7806)
Co-authored-by: Vova Ivanov <jetvova@gmail.com>
2021-09-09 22:10:25 +03:00
Anton Tayanovskyy 1647b2f021
Retry http downloads that intermittently fail builds (#7916)
* Retry http downloads that intermittently fail builds

* Address PR feedback
2021-09-08 17:37:57 -04:00
Anton Tayanovskyy c247f6e283
Fix 7913 Python codegen issue with double-quote inside docstrings (#7914)
* Introduce a test that showcases the invalid generated code

* Use shared printComment function

* Check for triple quote escaping

* Accept go

* Accept dotnet

* Accept nodejs

* Move codegen exampe into an existing schema

* Add CHANGELOG entry
2021-09-08 14:52:54 -04:00
Ian Wahbe 08b428ae96
Add replaceOnChange to schema (#7874)
* Add replaceOnChange to schema

* replaceOnChange at generate time for resources

* ReplaceOnChanges sees through optional types

* Correctly deal with map,array,object,resource type

This is responding to PR clarifications from @justinvp and @lblackstone.

* Update CHANGELOG_PENDING.md

* Detect recursively defined objects

* Display recursion warning

* Check which recursive structures fail

* Add internal logic tests for replaceOnChanges

* Add tests
2021-09-07 22:23:30 -07:00
Anton Tayanovskyy 27b1404d9e
Fix lint (#7915)
* Fix lint

* Fix lint of pkg folder
2021-09-07 16:41:17 -04:00
Evan Boyle 95aa47d3c6
[codegen/go] detect and avoid collisions in resource and type code generation (#7857) 2021-09-03 19:42:45 -07:00
Ian Wahbe 27fc39c00a Fix spelling of environment 2021-08-31 00:54:07 -07:00
Ian Wahbe 703104e412 Skip failing test on windows 2021-08-30 22:53:16 -07:00
Ian Wahbe 70833d3a3c Allow windows to find commands without .exe 2021-08-30 21:36:03 -07:00
Ian Wahbe a2250cc9ef
Merge branch 'master' into iwahbe/2715/add-pulumi-about-command 2021-08-30 22:50:51 -04:00
Pat Gavlin 76ee1b8ccf
[codegen/schema] Add a schema checker (#7865)
- Change the schema package to report semantic errors as diagnostics
  rather than Go errors
- Add a `pulumi schema check` command to the CLI for static checking of
  package schemas

The semantic checker can be extended in the future to add support for
target-specific checks.
2021-08-30 19:29:24 -07:00
Ian Wahbe 09c6a71b56 Fix typo 2021-08-30 19:02:07 -07:00
Ian Wahbe ea43fa2437
Merge branch 'master' into iwahbe/2715/add-pulumi-about-command 2021-08-30 21:57:20 -04:00
Ian Wahbe 43114007eb Whitespace and grammer 2021-08-30 18:56:02 -07:00
Anton Tayanovskyy 4380a63ad9
Implement 5758 {fn}_output codgen for Python (#7825)
* Implement 5758 {fn}_output codgen for Python

* Fix lint issues

* Accept codegen changes in expected examples

* Test and fix positional arg handling

* Add parameter descriptions to illustrate docstring codegen

* Generate docstrings

* Accept doc changes in expected go codegen file

* Use platform-agnostic API to drive Python tests
2021-08-30 16:52:58 -04:00
Ian Wahbe 1e0019340d Tolerate non semver version.Version 2021-08-28 16:01:19 -04:00
T-Vova 2c63e6fb77
Merge pull request #7792 from pulumi/t-vova/invalid-go-source-fix
Fixed invalid go source code issue
2021-08-27 19:49:30 -10:00
Ian Wahbe d82b560ae8 Fix nodejs direct dependencies 2021-08-27 15:42:05 -04:00
Ian Wahbe cdcabc34f3 Fix integration tests && found bug in nodejs -t 2021-08-27 14:25:10 -04:00
Ian Wahbe 878ab50044 Merge branch 'master' into iwahbe/2715/add-pulumi-about-command 2021-08-27 04:50:50 -04:00
Ian Wahbe 0d43d2c4a4 @jutinvp's improvements
These include:
1. Make transitive dependencies optional.
2. Use filepath instead of path.
3. Correctly consider the python virtual enviroments.
2021-08-27 04:37:09 -04:00
Ian Wahbe 6ac7798ea1 Check for no snapshot and no error 2021-08-25 11:55:28 -07:00
Ian Wahbe aece703e94 Respect linter and run yarn install for tests 2021-08-24 18:15:38 -07:00
Ian Wahbe bee803a970
Merge pull request #7824 from pulumi/iwahbe/7775/allow-hyphen-in-schema-path
Allow hyphen in schema path
2021-08-24 14:48:32 -07:00
Ian Wahbe d49a594093 Update tests and add integration test 2021-08-24 14:29:27 -07:00
Ian Wahbe 567ded6894 Directly compute dependencies 2021-08-24 12:37:35 -07:00
Ian Wahbe 61ef30cf82 Add tests for about 2021-08-23 15:24:33 -07:00
Ian Wahbe b30c57924a Move tests to correct location 2021-08-23 14:23:01 -07:00
Anton Tayanovskyy eef208633c
5758 for Go (#7784)
* Go support for 5758 - resurrect stale PR

* Fix listStorageAccountKeys test

* Check err so linter is satisfied

* Use all the examples

* Accept codegen results

* Regenerate with PULUMI_IGNORE_AMBIENT_PLUGINS=1

* Compile and test generated code as part of the test suite

* Add a CHANGELOG entry

* Remove temp test marker

* Shorten output type name

* Simplify code

* Add issue link

* Accept more codegen changes

* Use the suggested format for linking an issue
2021-08-23 16:46:09 -04:00
Ian Wahbe 9c02fe610f Allow hyphen in schema path
Fixes: https://github.com/pulumi/pulumi/issues/7775
2021-08-23 13:29:25 -07:00
Ian Wahbe 784c661c0c Make linter happy 2021-08-23 12:04:52 -07:00
Ian Wahbe b2090f636a Update go.sum and go.mod with go mod tidy 2021-08-23 10:59:40 -07:00
Ian Wahbe 2ccc8e2539 Merge branch 'master' of https://github.com/pulumi/pulumi into iwahbe/2715/add-pulumi-about-command 2021-08-23 10:36:58 -07:00
Ian Wahbe a00150900a Directly access the default logging dir 2021-08-23 10:05:00 -07:00
Justin Van Patten ac2ba6aadd
Avoid missing go.sum entry for module for new Go projects (#7808)
Change `pulumi new` to use `go mod tidy` rather than `go mod download` when installing Go project dependencies, to ensure the project is fully prepared to be used by `pulumi up`, avoiding `missing go.sum entry for module` errors.
2021-08-23 07:54:56 -07:00
Ian Wahbe cb3a267fd9 Cleanup error messages 2021-08-23 01:22:26 -07:00
Ian Wahbe 6c4f1814c7 Improve error messages 2021-08-23 01:09:50 -07:00
Ian Wahbe f75ddfc01d Refactor data into get and display components
This allows us to give the output in json.
2021-08-23 00:48:22 -07:00