Commit Graph

253 Commits

Author SHA1 Message Date
Thomas Gummerer 682e2318ea add unmarshal thing: 2024-08-16 09:32:52 +01:00
Pulumi Bot 9f0b427625
Changelog and go.mod updates for v3.129.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-08-12 19:28:33 +00:00
Thomas Gummerer 7d24a7479c
upgrade pulumi-yaml to 1.9.2 ()
Upgrade pulumi-yaml to the latest patch release.
2024-08-09 15:09:23 +00:00
Pulumi Bot 1d98e92df0
Changelog and go.mod updates for v3.128.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-08-05 20:02:26 +00:00
Fraser Waters e9ebdab330
Add a conformance test for invokes ()
This adds a new provider with just a couple of invokes and a single
resource, and two small projects that uses that invoke to fill in a
stack output.

The first just uses one of the invokes to fill stack outputs. 

The second tests that output'y inputs work and that no arguments to the
invoke work.

Currently disabled for Go because it doesn't handle the multi-return
invoke expression in the stack output value context.
2024-08-05 04:32:07 +00:00
Fraser Waters c9c30f0939
Ensure internal provider state doesn't clash with user config ()
Provider internal state is now separated from provider user config. This
allows providers to use a config key like "pluginDownloadURL" which
previously would have conflicted with the engines internal state. It
also allows the engine to add new internal state fields without concern
for clashing with existing or future provider config keys.

"version" is maintained as a root level key because providers already
look at this field, and we use it in conformance tests. However it's
been fixed to be the package version, not the plugin version. That's the
same for normal providers, but for a parameterised provider it will be
the version of the parameterised package, not the base plugin version.
As part of this I've made schema more strict that a provider can't
define its own version field. This would have clashed with the use of
version to set the plugin version to download, and is better set by
users by using the version resource option.

Fixes https://github.com/pulumi/pulumi/issues/16757.

---------

Co-authored-by: Will Jones <will@sacharissa.co.uk>
2024-07-30 12:22:32 +00:00
Pulumi Bot e139524235
Changelog and go.mod updates for v3.127.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-07-25 23:47:22 +00:00
Zaid Ajaj b3546c9fa4
[cli/import] Fix undefined variable errors in code generation when imported resources use a parent or provider ()
Fixes  Fixes 

## Problem Context

When using `pulumi import` we generate code snippets for the resources
that were imported. Sometimes the user specifies `--parent
parentName=URN` or `--provider providerName=URN` which tweak the parent
or provider that the imported resources uses. When using `--parent` or
`--provider` the generated code emits a resource option `parent =
parentName` (in case of using `--parent`) where `parentName` is an
unbound variable.

Usually unbound variables would result in a _bind_ error such as `error:
undefined variable parentName` when type-checking the program however in
the import code generation we specify the bind option
`pcl.AllowMissingVariables` which turns that unbound variable errors
into warnings and code generation can continue to emit code.

This is all good and works as expected. However in the issues linked
above, we do get an _error_ for unbound variables in generated code even
though we specified `AllowMissingVariables`.

The problem as it turns out is when we are trying to generate code via
dynamically loaded `LangaugeRuntime` plugins. Specifically for NodeJS
and Python, we load `pulumi-language-nodejs` or `pulumi-language-python`
and call `GenerateProgram` to get the generated program. That function
`GenerateProgram` takes the text _SOURCE_ of the a bound program (one
that was bound using option `AllowMissingVariables`) and re-binds again
inside the implementation of the language plugin. The second time we
bind the program, we don't pass it the option `AllowMissingVariables`
and so it fails with `unboud variable` error.

I've verified that the issue above don't repro when doing an import for
dotnet (probably same for java/yaml) because we use the statically
linked function `codegen/{lang}/gen_program.go -> GenerateProgram`

## Solution

The problem can be solved by propagating the bind options from the CLI
to the language hosts during import so that they know how to bind the
program. I've extended the gRPC interface in `GenerateProgramRequest`
with a property `Strict` which follows the same logic from `pulumi
convert --strict` and made it such that the import command sends
`strict=false` to the language plugins when doing `GenerateProgram`.
This is consistent with `GenerateProject` that uses the same flag. When
`strict=false` we use `pcl.NonStrictBindOptions()` which includes
`AllowMissingVariables` .

## Repro

Once can test the before and after behaviour by running `pulumi up
--yes` on the following TypeScript program:
```ts
import * as pulumi from "@pulumi/pulumi";
import * as random from "@pulumi/random";

export class MyComponent extends pulumi.ComponentResource {
    public readonly randomPetId: pulumi.Output<string>;
    constructor(name: string, opts?: pulumi.ComponentResourceOptions) {
        super("example:index:MyComponent", name, {}, opts);

        const randomPet = new random.RandomPet("randomPet", {}, { 
            parent: this 
        });

        this.randomPetId = randomPet.id;
        this.registerOutputs({
            randomPetId: randomPet.id,
        });
    }
}

const example = new MyComponent("example");
export const randomPetId = example.randomPetId;
``` 
Then running `pulumi import -f import.json` where `import.json` contains
a resource to be imported under the created component (stack=`dev`,
project=`importerrors`)
```ts
{
    "nameTable": {
        "parentComponent": "urn:pulumi:dev::importerrors::example:index:MyComponent::example"
    },
    "resources": [
        {
            "type": "random:index/randomPassword:RandomPassword",
            "name": "randomPassword",
            "id": "supersecret",
            "parent": "parentComponent"
        }
    ]
}
```
Running this locally I get the following generated code (which
previously failed to generate)
```ts
import * as pulumi from "@pulumi/pulumi";
import * as random from "@pulumi/random";

const randomPassword = new random.RandomPassword("randomPassword", {
    length: 11,
    lower: true,
    number: true,
    numeric: true,
    special: true,
    upper: true,
}, {
    parent: parentComponent,
});
```
2024-07-25 13:53:44 +00:00
Pulumi Bot 3e031a3305
Changelog and go.mod updates for v3.126.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-07-23 04:38:13 +00:00
Fraser Waters 4516fbce89
Add a test of sending primitive values for a resource ()
We already had the "simple" provider test that just checked we could
make a resource with a single simple bool field. This adds a new
"primitive' provider and checks we can send strings, numbers, integers,
arrays and maps from the program.
2024-07-22 21:13:11 +00:00
Justin Van Patten 0ebda3823e
Exclude `pulumi_policy` from plugin determination ()
In the Python language host, we hardcode that `pulumi-policy` doesn't
have an associated resource (provider) plugin, because we know it
doesn't have one.

However, this hardcode no longer works with the latest version of
`pulumi-policy` (v1.11.0) because it was built with a newer version of
`setuptools` which has a behavior change where the package name in the
metadata will now allow underscores, instead of having underscores
replaced with hyphens (https://github.com/pypa/setuptools/pull/4159).
This means that the package name reported from `pip list` is now
`pulumi_policy` instead of `pulumi-policy`, which doesn't match the
hardcoded list.

Note that this change is really only to help with `pulumi-policy`
v1.11.0. Future versions of `pulumi-policy` will have a
`pulumi-plugin.json` file in the package, which properly indicates that
it doesn't have an associated plugin.

Related: https://github.com/pulumi/pulumi-policy/pull/358
Part of addressing: https://github.com/pulumi/pulumi-policy/issues/356
2024-07-22 13:56:44 +00:00
Pulumi Bot add7ded95a
Changelog and go.mod updates for v3.125.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-07-19 12:58:37 +00:00
Fraser Waters a9947b4e4e
Python parameterized provider test ()
This adds support for replacement parameterised providers to Python and
a small integration test to check it works e2e.

When using parameterised providers we need to use the new (currently
unstable) RegisterPackage system, instead of sending
Version/DownloadURL/etc via RegisterResourceRequest. Once
RegisterPackage is stable the intention is to change _all_ packages to
use it and for normal packages to fall back to the
RegisterResourceRequest options, while parameterised packages will
error.

The actual parameter value is embedded in the python SDK as a base64
string that we decode before sending to the gRPC endpoint as bytes.
2024-07-16 10:55:38 +00:00
Pulumi Bot f6bdf034be
Changelog and go.mod updates for v3.124.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-07-12 14:57:28 +00:00
Aaron Friel 7f8e7174a1
Update Pulumi YAML to 1.9.1 ()
Fixes 

See:
- https://github.com/pulumi/pulumi/pull/16625
- https://github.com/pulumi/pulumi-yaml/pull/600
2024-07-11 22:33:05 +00:00
Pulumi Bot 2a25c7ff13
Changelog and go.mod updates for v3.123.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-07-10 22:57:33 +00:00
Will Jones a0cea65e70
Add conformance tests for remote assets ()
Conformance tests allow us to test functionality regardless of
programming language used, by setting up a test program using PCL and
making assertions about program state before and after various
operations. This commit adds a set of conformance tests for remote
assets (that is, assets that must be retrieved from some URI), which
have until now been untested in this regard.
2024-07-03 09:03:24 +00:00
Pulumi Bot ddbbbd7ac1
Changelog and go.mod updates for v3.122.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-07-02 07:54:27 +00:00
Julien P 531036ac07
Provide installation instructions for the python typechecker ()
When the typechecker option is set, but the selected typechecker is not
installed in the project's virtual environment, the pulumi operation
will fail with an unhelpful message like `mypy failed: exit status 1`.

To make this more actionable, we check if the typechecker is installed,
and if not, we provide installation instructions to remediate the issue.
2024-07-01 15:17:03 +00:00
Fraser Waters 969e0b9735
Conformance test for provider pre-release versions ()
Noticed this issue while doing SDK gen for parameterised providers, but
figured it deserved its own conformance test. Check that if a provider
has a pre-release semver that the _exact_ version can be reported by the
generated SDK. This already just works for NodeJS, but Python needed a
fix to write the version to `_utilities.py` rather than trying to
unconvert the pypi version from the package.

Also needed to make the conformance test checks for
`GetProgramDependencies` even weaker (which is fine, they are just a
very basic sanity check) because the provider reports a version of
"3.0.0-alpha.1.internal" while the python version is "3.0.0a1+internal".
2024-06-29 10:07:14 +00:00
Julien P 68d2236bf5
Add not-found markers to missing executables for packagemanagers ()
During the creation of new python and nodejs projects, flag package
manages that can't be found with a `[not found]` suffix. This allows the
user to see all possible options, but also understand why the
installation will fail (Anoter PR will improve the error message for a
failed installation when the executable could not be found).

<img width="443" alt="Screenshot 2024-06-26 at 13 35 13"
src="https://github.com/pulumi/pulumi/assets/387068/f659277d-1963-4e4e-861d-29166eabb190">

<img width="619" alt="Screenshot 2024-06-26 at 13 43 52"
src="https://github.com/pulumi/pulumi/assets/387068/a423c187-9353-4370-82b5-35cab8db91b1">
2024-06-28 23:21:55 +00:00
Fraser Waters 1fe7d7a871
Make sure the aio executor shutsdown before the event loop ()
Fixes https://github.com/pulumi/pulumi/issues/16025.

Looks like shutting down the executor and waiting for it to finish
pending tasks should stop callbacks being triggered after we then close
the event loop.
2024-06-28 23:20:32 +00:00
dependabot[bot] dd7e21c9de
Bump the go_modules group across 2 directories with 1 update ()
Bumps the go_modules group with 1 update in the /pkg directory:
[github.com/hashicorp/go-retryablehttp](https://github.com/hashicorp/go-retryablehttp).
Bumps the go_modules group with 1 update in the /tests directory:
[github.com/hashicorp/go-retryablehttp](https://github.com/hashicorp/go-retryablehttp).

Updates `github.com/hashicorp/go-retryablehttp` from 0.7.5 to 0.7.7
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/go-retryablehttp/blob/main/CHANGELOG.md">github.com/hashicorp/go-retryablehttp's
changelog</a>.</em></p>
<blockquote>
<h2>0.7.7 (May 30, 2024)</h2>
<p>BUG FIXES:</p>
<ul>
<li>client: avoid potentially leaking URL-embedded basic authentication
credentials in logs (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/158">#158</a>)</li>
</ul>
<h2>0.7.6 (May 9, 2024)</h2>
<p>ENHANCEMENTS:</p>
<ul>
<li>client: support a <code>RetryPrepare</code> function for modifying
the request before retrying (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/216">#216</a>)</li>
<li>client: support HTTP-date values for <code>Retry-After</code> header
value (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/138">#138</a>)</li>
<li>client: avoid reading entire body when the body is a
<code>*bytes.Reader</code> (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/197">#197</a>)</li>
</ul>
<p>BUG FIXES:</p>
<ul>
<li>client: fix a broken check for invalid server certificate in go
1.20+ (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/210">#210</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1542b31176"><code>1542b31</code></a>
v0.7.7</li>
<li><a
href="defb9f441d"><code>defb9f4</code></a>
v0.7.7</li>
<li><a
href="a99f07beb3"><code>a99f07b</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/158">#158</a>
from dany74q/danny/redacted-url-in-logs</li>
<li><a
href="8a28c574da"><code>8a28c57</code></a>
Merge branch 'main' into danny/redacted-url-in-logs</li>
<li><a
href="86e852df43"><code>86e852d</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/227">#227</a>
from hashicorp/dependabot/github_actions/actions/chec...</li>
<li><a
href="47fe99e646"><code>47fe99e</code></a>
Bump actions/checkout from 4.1.5 to 4.1.6</li>
<li><a
href="490fc06be0"><code>490fc06</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/226">#226</a>
from testwill/ioutil</li>
<li><a
href="f3e9417dbf"><code>f3e9417</code></a>
chore: remove refs to deprecated io/ioutil</li>
<li><a
href="d969eaa9c9"><code>d969eaa</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/225">#225</a>
from hashicorp/manicminer-patch-2</li>
<li><a
href="2ad8ed4a1d"><code>2ad8ed4</code></a>
v0.7.6</li>
<li>Additional commits viewable in <a
href="https://github.com/hashicorp/go-retryablehttp/compare/v0.7.5...v0.7.7">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/hashicorp/go-retryablehttp` from 0.7.5 to 0.7.7
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hashicorp/go-retryablehttp/blob/main/CHANGELOG.md">github.com/hashicorp/go-retryablehttp's
changelog</a>.</em></p>
<blockquote>
<h2>0.7.7 (May 30, 2024)</h2>
<p>BUG FIXES:</p>
<ul>
<li>client: avoid potentially leaking URL-embedded basic authentication
credentials in logs (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/158">#158</a>)</li>
</ul>
<h2>0.7.6 (May 9, 2024)</h2>
<p>ENHANCEMENTS:</p>
<ul>
<li>client: support a <code>RetryPrepare</code> function for modifying
the request before retrying (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/216">#216</a>)</li>
<li>client: support HTTP-date values for <code>Retry-After</code> header
value (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/138">#138</a>)</li>
<li>client: avoid reading entire body when the body is a
<code>*bytes.Reader</code> (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/197">#197</a>)</li>
</ul>
<p>BUG FIXES:</p>
<ul>
<li>client: fix a broken check for invalid server certificate in go
1.20+ (<a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/210">#210</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1542b31176"><code>1542b31</code></a>
v0.7.7</li>
<li><a
href="defb9f441d"><code>defb9f4</code></a>
v0.7.7</li>
<li><a
href="a99f07beb3"><code>a99f07b</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/158">#158</a>
from dany74q/danny/redacted-url-in-logs</li>
<li><a
href="8a28c574da"><code>8a28c57</code></a>
Merge branch 'main' into danny/redacted-url-in-logs</li>
<li><a
href="86e852df43"><code>86e852d</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/227">#227</a>
from hashicorp/dependabot/github_actions/actions/chec...</li>
<li><a
href="47fe99e646"><code>47fe99e</code></a>
Bump actions/checkout from 4.1.5 to 4.1.6</li>
<li><a
href="490fc06be0"><code>490fc06</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/226">#226</a>
from testwill/ioutil</li>
<li><a
href="f3e9417dbf"><code>f3e9417</code></a>
chore: remove refs to deprecated io/ioutil</li>
<li><a
href="d969eaa9c9"><code>d969eaa</code></a>
Merge pull request <a
href="https://redirect.github.com/hashicorp/go-retryablehttp/issues/225">#225</a>
from hashicorp/manicminer-patch-2</li>
<li><a
href="2ad8ed4a1d"><code>2ad8ed4</code></a>
v0.7.6</li>
<li>Additional commits viewable in <a
href="https://github.com/hashicorp/go-retryablehttp/compare/v0.7.5...v0.7.7">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/pulumi/pulumi/network/alerts).

</details>

Co-authored-by: Will Jones <will@sacharissa.co.uk>
2024-06-28 22:17:40 +00:00
Fraser Waters bf806f5834
Add asset archive test to conformance tests ()
<!--- 
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->

# Description

<!--- Please include a summary of the change and which issue is fixed.
Please also include relevant motivation and context. -->

Fixes https://github.com/pulumi/pulumi/issues/16092.

Hopefully the really last part of the fixes started by
https://github.com/pulumi/pulumi/pull/16100 and
https://github.com/pulumi/pulumi/pull/16119. This fixes the working
directory handling for asset archives.
2024-06-24 14:23:18 +00:00
Daniel Bradley c6a01328d2
Set range in python codegen default SDK version ()
If the schema doesn't set any specific dependencies, we should be
defaulting to requiring pulumi within the current major version rather
than completely unconstrained.

Discussion:
https://github.com/pulumi/pulumi-kafka/pull/410/files#r1594324390
2024-06-24 13:57:57 +00:00
Pulumi Bot 0cd3a460c3
Changelog and go.mod updates for v3.121.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-06-22 03:02:16 +00:00
Will Jones 271553d462
Generate `@deprecated` decorators in Python SDKs ()
The latest version of the core Pulumi SDK contains a decorator,
`@deprecated`, that is used when generating SDK code in order to signify
deprecated properties in a way that can be recognised by other SDK code.
This is useful when writing generic Python code that e.g. traverses
class properties without triggering deprecation warnings for those not
explicitly mentioned in user code. The [original pull
request](https://github.com/pulumi/pulumi/pull/16400) has more details.

Alas, we can't rely on the fact that a user will upgrade _both_ a
particular (generated) provider SDK and the core Pulumi SDK at the same
time. Thus, it's entirely possible that a user bumps their version of
(say) `pulumi_aws`, whilst leaving their `pulumi` library at the same
(compatible, according to specified bounds) version. In doing so they'd
hit errors when the new SDK tried to import the `@deprecated` decorator,
which doesn't exist in the old core SDK.

This commit thus fixes this by altering code generation so that each SDK
receives its own inlined copy of the `@deprecated` decorator, which it
can reference regardless of the version of the core SDK. This decorator
applies the same `_pulumi_deprecated_callable` tag to functions it
decorates, which a sufficiently modern SDK will recognise to avoid
triggering e.g. https://github.com/pulumi/pulumi/issues/15894. Later on,
we can hopefully find a way to avoid doing this and use only a version
of `@deprecated` specified in the core SDK.

Codegen tests have been updated and the inlined decorator has manually
been tested using the AWS Classic SDK.

Addresses
https://github.com/pulumi/pulumi/pull/16400#discussion_r1646562455
2024-06-21 11:34:29 +00:00
Mikhail Shilkov 2f3f9f20e8
Vendor the inflector library ()
<!--- 
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->

# Description

The gedex/inflector (singularization/pluralization) library has been
seemingly abandoned: still no go module support, no changes in years,
etc. It was decided that we want to fork it and maintain ourselves to
ensure both a) stability and backwards compatibility b) modernization
and quality.

This PR switches the inflector library. The next step will be TF bridge.

There are no functional changes in behavior - the library code is
exactly the same.

## Checklist

- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
  - [ ] I have formatted my code using `gofumpt`

<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [ ] I have added tests that prove my fix is effective or that my
feature works
<!--- 
User-facing changes require a CHANGELOG entry.
-->
- [ ] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
2024-06-20 09:04:33 +00:00
dependabot[bot] f3994ee023
Bump the go_modules group across 2 directories with 1 update ()
Bumps the go_modules group with 1 update in the /pkg directory:
[github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go).
Bumps the go_modules group with 1 update in the /tests directory:
[github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go).

Updates `github.com/Azure/azure-sdk-for-go/sdk/azidentity` from 1.5.1 to
1.6.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Azure/azure-sdk-for-go/releases">github.com/Azure/azure-sdk-for-go/sdk/azidentity's
releases</a>.</em></p>
<blockquote>
<h2>sdk/internal/v1.6.0</h2>
<h2>1.6.0 (2024-04-16)</h2>
<h3>Features Added</h3>
<ul>
<li>Options types for <code>SetBodilessMatcher</code> and
<code>SetDefaultMatcher</code> now embed
<code>RecordingOptions</code></li>
<li>Added a collection of default sanitizers for test recordings</li>
</ul>
<h2>sdk/azidentity/v1.6.0</h2>
<h2>1.6.0 (2024-06-10)</h2>
<h3>Features Added</h3>
<ul>
<li><code>NewOnBehalfOfCredentialWithClientAssertions</code> creates an
on-behalf-of credential
that authenticates with client assertions such as federated
credentials</li>
</ul>
<h3>Breaking Changes</h3>
<blockquote>
<p>These changes affect only code written against a beta version such as
v1.6.0-beta.4</p>
</blockquote>
<ul>
<li>Removed <code>AzurePipelinesCredential</code> and the persistent
token caching API.
They will return in v1.7.0-beta.1</li>
</ul>
<h3>Bugs Fixed</h3>
<ul>
<li>Managed identity bug fixes</li>
</ul>
<h2>sdk/azidentity/v1.6.0-beta.4</h2>
<h2>1.6.0-beta.4 (2024-05-14)</h2>
<h3>Features Added</h3>
<ul>
<li><code>AzurePipelinesCredential</code> authenticates an Azure
Pipeline service connection with
workload identity federation</li>
</ul>
<h2>sdk/azidentity/v1.6.0-beta.3</h2>
<h2>1.6.0-beta.3 (2024-04-09)</h2>
<h3>Breaking Changes</h3>
<ul>
<li><code>DefaultAzureCredential</code> now sends a probe request with
no retries for IMDS managed identity
environments to avoid excessive retry delays when the IMDS endpoint is
not available. This
should improve credential chain resolution for local development
scenarios.</li>
</ul>
<h3>Bugs Fixed</h3>
<ul>
<li><code>ManagedIdentityCredential</code> now specifies resource IDs
correctly for Azure Container Instances</li>
</ul>
<h2>sdk/azidentity/v1.5.2</h2>
<h2>1.5.2 (2024-04-09)</h2>
<h3>Bugs Fixed</h3>
<ul>
<li><code>ManagedIdentityCredential</code> now specifies resource IDs
correctly for Azure Container Instances</li>
</ul>
<h3>Other Changes</h3>
<ul>
<li>Restored v1.4.0 error behavior for empty tenant IDs</li>
<li>Upgraded dependencies</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="36f766d2fe"><code>36f766d</code></a>
add sdk/resourcemanager/cosmos/armcosmos live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20705">#20705</a>)</li>
<li><a
href="c005ed6159"><code>c005ed6</code></a>
sdk/resourcemanager/network/armnetwork live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20331">#20331</a>)</li>
<li><a
href="5fa7df4852"><code>5fa7df4</code></a>
add sdk/resourcemanager/compute/armcompute live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20048">#20048</a>)</li>
<li><a
href="0d22aeddaa"><code>0d22aed</code></a>
add sdk/resourcemanager/eventhub/armeventhub live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20686">#20686</a>)</li>
<li><a
href="2a8d96d355"><code>2a8d96d</code></a>
add sdk/resourcemanager/postgresql/armpostgresql live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20685">#20685</a>)</li>
<li><a
href="b2cddab175"><code>b2cddab</code></a>
[Release] sdk/resourcemanager/paloaltonetworksngfw/armpanngfw/0.1.0 (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20437">#20437</a>)</li>
<li><a
href="ed7f3c719e"><code>ed7f3c7</code></a>
Fix azidentity troubleshooting guide link (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20736">#20736</a>)</li>
<li><a
href="6dfd0cbd7c"><code>6dfd0cb</code></a>
[azeventhubs] Fixing checkpoint store race condition (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20727">#20727</a>)</li>
<li><a
href="745d967e27"><code>745d967</code></a>
pass along the artifact name so we can override it later (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20732">#20732</a>)</li>
<li><a
href="20b4dd8c3e"><code>20b4dd8</code></a>
Update changelog with latest features (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20730">#20730</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Azure/azure-sdk-for-go/compare/sdk/internal/v1.5.1...sdk/azcore/v1.6.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/Azure/azure-sdk-for-go/sdk/azidentity` from 1.5.1 to
1.6.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Azure/azure-sdk-for-go/releases">github.com/Azure/azure-sdk-for-go/sdk/azidentity's
releases</a>.</em></p>
<blockquote>
<h2>sdk/internal/v1.6.0</h2>
<h2>1.6.0 (2024-04-16)</h2>
<h3>Features Added</h3>
<ul>
<li>Options types for <code>SetBodilessMatcher</code> and
<code>SetDefaultMatcher</code> now embed
<code>RecordingOptions</code></li>
<li>Added a collection of default sanitizers for test recordings</li>
</ul>
<h2>sdk/azidentity/v1.6.0</h2>
<h2>1.6.0 (2024-06-10)</h2>
<h3>Features Added</h3>
<ul>
<li><code>NewOnBehalfOfCredentialWithClientAssertions</code> creates an
on-behalf-of credential
that authenticates with client assertions such as federated
credentials</li>
</ul>
<h3>Breaking Changes</h3>
<blockquote>
<p>These changes affect only code written against a beta version such as
v1.6.0-beta.4</p>
</blockquote>
<ul>
<li>Removed <code>AzurePipelinesCredential</code> and the persistent
token caching API.
They will return in v1.7.0-beta.1</li>
</ul>
<h3>Bugs Fixed</h3>
<ul>
<li>Managed identity bug fixes</li>
</ul>
<h2>sdk/azidentity/v1.6.0-beta.4</h2>
<h2>1.6.0-beta.4 (2024-05-14)</h2>
<h3>Features Added</h3>
<ul>
<li><code>AzurePipelinesCredential</code> authenticates an Azure
Pipeline service connection with
workload identity federation</li>
</ul>
<h2>sdk/azidentity/v1.6.0-beta.3</h2>
<h2>1.6.0-beta.3 (2024-04-09)</h2>
<h3>Breaking Changes</h3>
<ul>
<li><code>DefaultAzureCredential</code> now sends a probe request with
no retries for IMDS managed identity
environments to avoid excessive retry delays when the IMDS endpoint is
not available. This
should improve credential chain resolution for local development
scenarios.</li>
</ul>
<h3>Bugs Fixed</h3>
<ul>
<li><code>ManagedIdentityCredential</code> now specifies resource IDs
correctly for Azure Container Instances</li>
</ul>
<h2>sdk/azidentity/v1.5.2</h2>
<h2>1.5.2 (2024-04-09)</h2>
<h3>Bugs Fixed</h3>
<ul>
<li><code>ManagedIdentityCredential</code> now specifies resource IDs
correctly for Azure Container Instances</li>
</ul>
<h3>Other Changes</h3>
<ul>
<li>Restored v1.4.0 error behavior for empty tenant IDs</li>
<li>Upgraded dependencies</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="36f766d2fe"><code>36f766d</code></a>
add sdk/resourcemanager/cosmos/armcosmos live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20705">#20705</a>)</li>
<li><a
href="c005ed6159"><code>c005ed6</code></a>
sdk/resourcemanager/network/armnetwork live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20331">#20331</a>)</li>
<li><a
href="5fa7df4852"><code>5fa7df4</code></a>
add sdk/resourcemanager/compute/armcompute live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20048">#20048</a>)</li>
<li><a
href="0d22aeddaa"><code>0d22aed</code></a>
add sdk/resourcemanager/eventhub/armeventhub live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20686">#20686</a>)</li>
<li><a
href="2a8d96d355"><code>2a8d96d</code></a>
add sdk/resourcemanager/postgresql/armpostgresql live test (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20685">#20685</a>)</li>
<li><a
href="b2cddab175"><code>b2cddab</code></a>
[Release] sdk/resourcemanager/paloaltonetworksngfw/armpanngfw/0.1.0 (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20437">#20437</a>)</li>
<li><a
href="ed7f3c719e"><code>ed7f3c7</code></a>
Fix azidentity troubleshooting guide link (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20736">#20736</a>)</li>
<li><a
href="6dfd0cbd7c"><code>6dfd0cb</code></a>
[azeventhubs] Fixing checkpoint store race condition (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20727">#20727</a>)</li>
<li><a
href="745d967e27"><code>745d967</code></a>
pass along the artifact name so we can override it later (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20732">#20732</a>)</li>
<li><a
href="20b4dd8c3e"><code>20b4dd8</code></a>
Update changelog with latest features (<a
href="https://redirect.github.com/Azure/azure-sdk-for-go/issues/20730">#20730</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Azure/azure-sdk-for-go/compare/sdk/internal/v1.5.1...sdk/azcore/v1.6.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/pulumi/pulumi/network/alerts).

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Justin Van Patten <jvp@justinvp.com>
2024-06-19 18:18:35 +00:00
Julien P a59b694515
Query language runtime for options during “pulumi new” ()
# Description

Fixes https://github.com/pulumi/pulumi/issues/16309

During `pulumi new` we query the language runtime using the new
`RuntimeOptionsPrompts` RPC call to get additional prompts to ask the
user.

<img width="900" alt="Screenshot 2024-06-07 at 14 28 58"
src="https://github.com/pulumi/pulumi/assets/387068/e68ef702-978b-47f7-9d4b-afdf10409ed8">

## Checklist

- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
  - [x] I have formatted my code using `gofumpt`

<!-- av pr metadata
This information is embedded by the av CLI when creating PRs to track
the status of stacks when using Aviator. Please do not delete or edit
this section of the PR.
```
{"parent":"master","parentHead":"","trunk":"master"}
```
-->

---------

Co-authored-by: Will Jones <will@sacharissa.co.uk>
Co-authored-by: Thomas Gummerer <t.gummerer@gmail.com>
2024-06-17 17:10:55 +00:00
Pulumi Bot 0fce8163d9
Changelog and go.mod updates for v3.120.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-06-13 09:48:57 +00:00
Fraser Waters ee6ec150d8
Add explict provider test to conformance tests ()
<!--- 
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->

# Description

<!--- Please include a summary of the change and which issue is fixed.
Please also include relevant motivation and context. -->

Adds a conformance test for an explicit provider resource.
2024-06-11 14:56:08 +00:00
Julien P 6cee283a42
Support Poetry as Python toolchain ()
# Description

Implement `Toolchain` interface for Poetry.

This does not yet allow the user to select the toolchain during `pulumi
new`, but can be used with a template that has explicit poetry support
https://github.com/pulumi/templates/pull/795/files

```
pulumi new https://github.com/pulumi/templates/tree/julienp/poetry-template/aws-python-poetry 
```
Stacked on top of https://github.com/pulumi/pulumi/pull/16311

Fixes https://github.com/pulumi/pulumi/issues/16314
Ref https://github.com/pulumi/pulumi/issues/15937

## Checklist

- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
  - [x] I have formatted my code using `gofumpt`
2024-06-06 14:16:24 +00:00
Julien P 8476c3f7f5
Pass ProgramInfo through to LanguageRuntime.About ()
# Description

To correctly determine which python executable we are using, we need the
ProgramInfo so we can determine which virtual environment is in use.

This PR updates the `About` rpc call to take `ProgramInfo` as argument.

Fixes https://github.com/pulumi/pulumi/issues/16299
Ref https://github.com/pulumi/pulumi/issues/15937

## Checklist

- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
  - [x] I have formatted my code using `gofumpt`
2024-06-06 08:21:46 +00:00
Pulumi Bot 7c0489fafc
Changelog and go.mod updates for v3.119.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-06-05 16:33:59 +00:00
Pat Gavlin c376f9c728
[chore] Update esc to v0.9.1 ()
Bring in the latest additions to the CLI.
2024-06-05 06:22:01 +00:00
Julien P 578e0937a9
[Python] Move existing dependency installation and python command invocation to a Toolchain interface ()
# Description

This PR refactors the existing Python dependency installation and
command running code to use the `Toolchain` interface. This will make it
possible to swap out the default Pip based toolchain for a Poetry based
toolchain.

Fixes https://github.com/pulumi/pulumi/issues/16285
Ref https://github.com/pulumi/pulumi/issues/15937

## Checklist

- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
  - [x] I have formatted my code using `gofumpt`
2024-06-03 13:52:27 +00:00
Pulumi Bot 5e4f7dc076
Changelog and go.mod updates for v3.118.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-05-31 18:49:15 +00:00
Pulumi Bot ee831fc5b6
Changelog and go.mod updates for v3.117.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-05-25 04:02:38 +00:00
Justin Van Patten 769428f395
chore: Upgrade gocloud.dev/secrets/hashivault ()
Upgrade `gocloud.dev/secrets/hashivault` to the latest version,
`v0.37.0`, which also matches the `gocloud.dev` version we depend on.

This replaces the indirect dependency on `gopkg.in/square/go-jose.v2`
`v2.6.0`, which has a vulnerability (see
https://pkg.go.dev/vuln/GO-2024-2631), with v3.0.3, which addresses the
vulnerability.

Part of https://github.com/pulumi/pulumi/issues/16232
2024-05-21 06:49:44 +00:00
dependabot[bot] c9b5c90c84
Bump the go_modules group across 2 directories with 1 update ()
Bumps the go_modules group with 1 update in the /pkg directory:
[golang.org/x/net](https://github.com/golang/net).
Bumps the go_modules group with 1 update in the /sdk directory:
[golang.org/x/net](https://github.com/golang/net).

Updates `golang.org/x/net` from 0.23.0 to 0.25.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d27919b57f"><code>d27919b</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="e0324fcdb5"><code>e0324fc</code></a>
http2: use net.ErrClosed</li>
<li><a
href="b20cd5933a"><code>b20cd59</code></a>
quic: initiate key rotation earlier in connections</li>
<li><a
href="f95a3b3a48"><code>f95a3b3</code></a>
html: fix typo in package doc</li>
<li><a
href="0a24555f5c"><code>0a24555</code></a>
http/httpguts: speed up ValidHeaderFieldName</li>
<li><a
href="ec05fdcd71"><code>ec05fdc</code></a>
http2: don't retry the first request on a connection on GOAWAY
error</li>
<li><a
href="b67a0f0535"><code>b67a0f0</code></a>
http2: send correct LastStreamID in stream-caused GOAWAY</li>
<li><a
href="a130fcc1c1"><code>a130fcc</code></a>
quic: don't consider goroutines running when tests start as leaked</li>
<li><a
href="7bbe32058a"><code>7bbe320</code></a>
go.mod: update golang.org/x dependencies</li>
<li>See full diff in <a
href="https://github.com/golang/net/compare/v0.23.0...v0.25.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `golang.org/x/net` from 0.23.0 to 0.25.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d27919b57f"><code>d27919b</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="e0324fcdb5"><code>e0324fc</code></a>
http2: use net.ErrClosed</li>
<li><a
href="b20cd5933a"><code>b20cd59</code></a>
quic: initiate key rotation earlier in connections</li>
<li><a
href="f95a3b3a48"><code>f95a3b3</code></a>
html: fix typo in package doc</li>
<li><a
href="0a24555f5c"><code>0a24555</code></a>
http/httpguts: speed up ValidHeaderFieldName</li>
<li><a
href="ec05fdcd71"><code>ec05fdc</code></a>
http2: don't retry the first request on a connection on GOAWAY
error</li>
<li><a
href="b67a0f0535"><code>b67a0f0</code></a>
http2: send correct LastStreamID in stream-caused GOAWAY</li>
<li><a
href="a130fcc1c1"><code>a130fcc</code></a>
quic: don't consider goroutines running when tests start as leaked</li>
<li><a
href="7bbe32058a"><code>7bbe320</code></a>
go.mod: update golang.org/x dependencies</li>
<li>See full diff in <a
href="https://github.com/golang/net/compare/v0.23.0...v0.25.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/pulumi/pulumi/network/alerts).

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Justin Van Patten <jvp@justinvp.com>
2024-05-21 05:23:56 +00:00
Fraser Waters 2f93d5e224
Fix race in language conformance tests Log method ()
<!--- 
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->

# Description

<!--- Please include a summary of the change and which issue is fixed.
Please also include relevant motivation and context. -->

The engine can call Log in parallel, so we need to lock to maintain our
`previousMessage` correctness.
2024-05-19 17:41:42 +00:00
Thomas Gummerer 039fa8bb6f
language_test: allow more characters in the log before truncating ()
We initially introduced this limit for log messages in
https://github.com/pulumi/pulumi/pull/16117. However I've since realized
that these log messages also include useful stacktraces (when the
program being tested throws an exception), which are a bit longer.

The intention here is really to avoid *really* long messages, so
increase the maximum message size a little to still avoid those, but
allow us to see more of the stacktrace that should hopefully be useful
for debugging.

The number is mostly still based on a guesstimate of what's useful, but
it's easy to tweak if we need to tweak it further.
2024-05-16 15:37:27 +00:00
Pulumi Bot dbb887b565
Changelog and go.mod updates for v3.116.1 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-05-15 09:45:16 +00:00
Pulumi Bot e4b764498d
Changelog and go.mod updates for v3.116.0 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-05-13 09:21:44 +00:00
Pulumi Bot f47458fbf8
Changelog and go.mod updates for v3.115.2 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-05-06 21:03:38 +00:00
Thomas Gummerer b072edb017
avoid showing repeated messages ()
Sometimes we show hundreds of repeated messages in the logs, e.g.
"waiting for quiescence; 3 outputs outstanding". This just makes the
logs harder to read. Since we need to wait for the test to finish before
any of this is shown anyway, only log each message once and show a
little blurb about how often the message has been repeated.

(Note that for simplicity if the last message is repeated we don't show
the same blurb, but that should be okay since the last messages we're
logging are always different.)

Based on https://github.com/pulumi/pulumi/pull/16117 where I noticed
this, and I didn't want to rebase it to avoid conflicts.
2024-05-06 13:20:06 +00:00
Pulumi Bot e8b62fa9b4
Changelog and go.mod updates for v3.115.1 ()
Co-authored-by: github-actions <github-actions@github.com>
2024-05-06 11:45:43 +00:00
Thomas Gummerer 9b4c9dc57e
truncate debug log output in conformance tests ()
This debug log output can get way too long, and GitHub Actions logs
can't even display it anymore when there are test failures. Cut each
individual message short, with an escape hatch in case someone wants to
run with the full output locally.

I had a look at the test failure in
https://github.com/pulumi/pulumi/pull/16116 and it seems like it's still
having the same issue. Looking again at the test output it's actually
this t.Log that includes the registered resource outputs, that contains
the large amounts of data. I arbitrarily decided to make the cutoff 100
chars, but that could be adjusted.
2024-05-06 07:52:44 +00:00
Fraser Waters 3d4291e2f8
Fix folder archives in the engine ()
<!--- 
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->

# Description

<!--- Please include a summary of the change and which issue is fixed.
Please also include relevant motivation and context. -->

Fixes https://github.com/pulumi/pulumi/issues/16092.

Last part of the fix started in
https://github.com/pulumi/pulumi/pull/16100. That last PR fixed assets
and archive files, but not archive folders.

## Checklist

- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
  - [x] I have formatted my code using `gofumpt`

<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [x] I have added tests that prove my fix is effective or that my
feature works
<!--- 
User-facing changes require a CHANGELOG entry.
-->
- [x] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
2024-05-06 07:26:48 +00:00