{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":72477752,"defaultBranch":"master","name":"pulumi","ownerLogin":"pulumi","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-10-31T21:02:47.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/21992475?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718121855.0","currentOid":""},"activityList":{"items":[{"before":"db946da90cc957ec7c6d8c42703f0056c2fe619d","after":"12cbc26990c131dd4f18ed7119cba6cb65677581","ref":"refs/heads/lukehoban/ignoreChangesRefresh","pushedAt":"2024-06-11T17:02:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lunaris","name":"Will Jones","path":"/lunaris","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/163793?s=80&v=4"},"commit":{"message":"Add environment variable support and tests","shortMessageHtmlLink":"Add environment variable support and tests"}},{"before":"07e546fda7612c58953d2b2eb6f2044c3b896a45","after":null,"ref":"refs/heads/fraser/explicitConformance","pushedAt":"2024-06-11T16:04:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Frassle","name":"Fraser Waters","path":"/Frassle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1398274?s=80&v=4"}},{"before":"ee6ec150d8237d472196da9e87265b6b0f24e6af","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-16362-f71c764a4c61c276c5b7bdac16eb61baf230cd65","pushedAt":"2024-06-11T16:04:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"f71c764a4c61c276c5b7bdac16eb61baf230cd65","after":"ee6ec150d8237d472196da9e87265b6b0f24e6af","ref":"refs/heads/master","pushedAt":"2024-06-11T16:04:14.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Add explict provider test to conformance tests (#16362)\n\n\n\n# Description\n\n\n\nAdds a conformance test for an explicit provider resource.","shortMessageHtmlLink":"Add explict provider test to conformance tests (#16362)"}},{"before":"30fc670026e280753556c514445178b5687e73d8","after":"6bdb58677c8aa3bce43b446226c8e994959d1bbc","ref":"refs/heads/tg/python-wait-for-rpc-finish","pushedAt":"2024-06-11T15:53:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tgummerer","name":"Thomas Gummerer","path":"/tgummerer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191004?s=80&v=4"},"commit":{"message":"add changelog","shortMessageHtmlLink":"add changelog"}},{"before":"6ca93ca2fdf3459efe27416c9c4c86d7d656a8d1","after":"30fc670026e280753556c514445178b5687e73d8","ref":"refs/heads/tg/python-wait-for-rpc-finish","pushedAt":"2024-06-11T15:51:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tgummerer","name":"Thomas Gummerer","path":"/tgummerer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191004?s=80&v=4"},"commit":{"message":"wait for RPCs to finish before registering stack transforms\n\nFor transforms, we want to make sure all resources are registered\nbefore registering them, and that no resource registration happens\nwhile the transform is being registered in the engine.\n\nThe latter is already given, since `register_stack_transform` happens\nsynchronously, so no new RegisterResource calls can be started while\nthe transforms are registered.\n\nFor the former, we can make use of the event loop. Since all of the\nrpc calls are being put on the event loop, we can make sure to wait\nfor them to finish before re start registering the transforms. Note\nthat we can't just wait for all tasks to finish because there might be\nmore than RPCs in flight. However when the RPCs finished we can be\ncertain that the resources are registered in the engine, and\nregistering the stack transforms is now a valid operation.","shortMessageHtmlLink":"wait for RPCs to finish before registering stack transforms"}},{"before":null,"after":"a3ae20f957bf004a1f5b763b287a17f371438ccd","ref":"refs/heads/wjones/step-apply-parameters","pushedAt":"2024-06-11T15:40:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"lunaris","name":"Will Jones","path":"/lunaris","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/163793?s=80&v=4"},"commit":{"message":"Remove `Step.Apply`'s `preview` parameter\n\nWith the clean up of deployment options, it is no longer necessary for\n`Step.Apply` methods to accept a `preview bool` parameter. This\ninformation is already present on the receiver's `deployment` property\nand removing the argument a. allows us to consolidate the surface area\nof the API, hopefully preventing bugs and b. further improve consistency\naround the use of \"preview\" (referring to the `preview` action) and \"dry\nrun\" (referring to any part of an action that does not perform\nmodifications, such as showing what will happen during a `refresh` or\n`destroy`).","shortMessageHtmlLink":"Remove Step.Apply's preview parameter"}},{"before":null,"after":"ee6ec150d8237d472196da9e87265b6b0f24e6af","ref":"refs/heads/gh-readonly-queue/master/pr-16362-f71c764a4c61c276c5b7bdac16eb61baf230cd65","pushedAt":"2024-06-11T14:56:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Add explict provider test to conformance tests (#16362)\n\n\n\n# Description\n\n\n\nAdds a conformance test for an explicit provider resource.","shortMessageHtmlLink":"Add explict provider test to conformance tests (#16362)"}},{"before":"60d9a67e015cead7e59e704289580ead87e556e0","after":null,"ref":"refs/heads/wjones/deployment-options","pushedAt":"2024-06-11T14:46:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"lunaris","name":"Will Jones","path":"/lunaris","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/163793?s=80&v=4"}},{"before":"f71c764a4c61c276c5b7bdac16eb61baf230cd65","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-16357-13ffd51017a4231916328a013d75d6de54f932b7","pushedAt":"2024-06-11T14:46:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"13ffd51017a4231916328a013d75d6de54f932b7","after":"f71c764a4c61c276c5b7bdac16eb61baf230cd65","ref":"refs/heads/master","pushedAt":"2024-06-11T14:46:45.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Clean up deployment options (#16357)\n\n# Description\n\nThere are a number of parts of the deployment process that require\ncontext about and configuration for the operation being executed. For\ninstance:\n\n* Source evaluation -- evaluating programs in order to emit resource\nregistrations\n* Step generation -- processing resource registrations in order to\ngenerate steps (create this, update that, delete the other, etc.)\n* Step execution -- executing steps in order to action a deployment.\n\nPresently, these pieces all take some form of `Options` struct or pass\nexplicit arguments. This is problematic for a couple of reasons:\n\n* It could be possible for different parts of the codebase to end up\noperating in different contexts/with different configurations, whether\ndue to different values being passed explicitly or due to missed\ncopying/instantiation.\n* Some parts need less context/configuration than others, but still\naccept full `Options`, making it hard to discern what information is\nactually necessary in any given part of the process.\n\nThis commit attempts to clean things up by moving deployment options\ndirectly into the `Deployment` itself. Since step generation and\nexecution already refer to a `Deployment`, they get a consistent view of\nthe options for free. For source evaluation, we introduce an\n`EvalSourceOptions` struct for configuring just the options necessary\nthere. At the top level, the engine configures a single set of options\nto flow through the deployment steps later on.\n\nAs part of this work, a few other things have been changed:\n\n* Preview/dry-run parameters have been incorporated into options. This\nlets up lop off another argument and mitigate a bit of \"boolean\nblindness\". We don't appear to flip this flag within a deployment\nprocess (indeed, all options seem to be immutable) and so having it as a\nseparate flag doesn't seem to buy us anything.\n* Several methods representing parts of the deployment process have lost\narguments in favour of state that is already being carried on (or can be\ncarried on) their receiver. For instance, `deployment.run` no longer\ntakes actions or preview configuration. While doing so means that a\n`deployment` could be run multiple times with different actions/preview\narguments, we don't currently exploit this fact anywhere, so moving this\nstate to the point of construction both simplifies things considerably\nand reduces the possibility for error (e.g. passing different values of\n`preview` when instantiating a `deployment` and subsequently calling\n`run`).\n* Event handlers have been split out of the options object and attached\nto `Deployment` separately. This means we can talk about options at a\nhigher level without having to `nil` out/worry about this field and\nmutate it correctly later on.\n* Options are no longer mutated during deployment. Presently there\nappears to be only one case of this -- when handling `ContinueOnError`\nin the presence of `IgnoreChanges` (e.g. when performing a refresh).\nThis case has been refactored so that the mutation is no longer\nnecessary.\n\n# Notes\n\n* This change is in preparation for #16146, where we'd like to add an\nenvironment variable to control behaviour and having a single unified\n`Options` struct would make it easier to pass this configuration down\nwith introducing (more) global state into deployments. Indeed, this\nchange should make it easier to factor global state into `Options` so\nthat it can be controlled and tested more easily/is less susceptible to\nbugs, race conditions, etc.\n* I've tweaked/extended some comments while I'm here and have learned\nthings the hard way (e.g. `Refresh` vs `isRefresh`). Feedback welcome on\nthis if we'd rather not conflate.\n* This change does mean that if in future we wanted e.g. to be able to\nrun a `Deployment` in multiple different ways with multiple sets of\nactions, we'd have to refactor. Pushing state to the point of object\nconstruction reduces the flexibility of the code. However, since we are\nnot presently using that flexibility (nor is there an obvious [to my\nmind] use case in the near future), this seems like a good trade-off to\nguard against bugs/make it simpler to move that state around.\n* I've left some other review comments in the code around\nquestions/changes that might be a bad idea; happy to receive feedback on\nit all though!","shortMessageHtmlLink":"Clean up deployment options (#16357)"}},{"before":"38a1b86edd137a448c14e803aa619709838bcb1e","after":"6ca93ca2fdf3459efe27416c9c4c86d7d656a8d1","ref":"refs/heads/tg/python-wait-for-rpc-finish","pushedAt":"2024-06-11T14:18:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tgummerer","name":"Thomas Gummerer","path":"/tgummerer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191004?s=80&v=4"},"commit":{"message":"wait for RPCs to finish before registering stack transforms\n\nFor transforms, we want to make sure all resources are registered\nbefore registering them, and that no resource registration happens\nwhile the transform is being registered in the engine.\n\nThe latter is already given, since `register_stack_transform` happens\nsynchronously, so no new RegisterResource calls can be started while\nthe transforms are registered.\n\nFor the former, we can make use of the event loop. Since all of the\nrpc calls are being put on the event loop, we can make sure to wait\nfor them to finish before re start registering the transforms. Note\nthat we can't just wait for all tasks to finish because there might be\nmore than RPCs in flight. However when the RPCs finished we can be\ncertain that the resources are registered in the engine, and\nregistering the stack transforms is now a valid operation.","shortMessageHtmlLink":"wait for RPCs to finish before registering stack transforms"}},{"before":null,"after":"38a1b86edd137a448c14e803aa619709838bcb1e","ref":"refs/heads/tg/python-wait-for-rpc-finish","pushedAt":"2024-06-11T14:17:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tgummerer","name":"Thomas Gummerer","path":"/tgummerer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/191004?s=80&v=4"},"commit":{"message":"wait for RPCs to finish before registering stack transforms\n\nFor transforms, we want to make sure all resources are registered\nbefore registering them, and that no resource registration happens\nwhile the transform is being registered in the engine.\n\nThe latter is already given, since `register_stack_transform` happens\nsynchronously, so no new RegisterResource calls can be started while\nthe transforms are registered.\n\nFor the former, we can make use of the event loop. Since all of the\nrpc calls are being put on the event loop, we can make sure to wait\nfor them to finish before re start registering the transforms. Note\nthat we can't just wait for all tasks to finish because there might be\nmore than RPCs in flight. However when the RPCs finished we can be\ncertain that the resources are registered in the engine, and\nregistering the stack transforms is now a valid operation.","shortMessageHtmlLink":"wait for RPCs to finish before registering stack transforms"}},{"before":"e8ef90a1a21ca4b83756df98c9a4d34161eb9c4e","after":"07e546fda7612c58953d2b2eb6f2044c3b896a45","ref":"refs/heads/fraser/explicitConformance","pushedAt":"2024-06-11T14:10:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Frassle","name":"Fraser Waters","path":"/Frassle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1398274?s=80&v=4"},"commit":{"message":"Add explict provider test to conformance tests","shortMessageHtmlLink":"Add explict provider test to conformance tests"}},{"before":"0565477dc01796ce25300942bd0a14b95871ba6d","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-16362-13ffd51017a4231916328a013d75d6de54f932b7","pushedAt":"2024-06-11T13:59:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"17aa6e678503e3c50130e956c258036ea6f6c47f","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-16357-0565477dc01796ce25300942bd0a14b95871ba6d","pushedAt":"2024-06-11T13:59:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":null,"after":"f71c764a4c61c276c5b7bdac16eb61baf230cd65","ref":"refs/heads/gh-readonly-queue/master/pr-16357-13ffd51017a4231916328a013d75d6de54f932b7","pushedAt":"2024-06-11T13:59:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Clean up deployment options (#16357)\n\n# Description\n\nThere are a number of parts of the deployment process that require\ncontext about and configuration for the operation being executed. For\ninstance:\n\n* Source evaluation -- evaluating programs in order to emit resource\nregistrations\n* Step generation -- processing resource registrations in order to\ngenerate steps (create this, update that, delete the other, etc.)\n* Step execution -- executing steps in order to action a deployment.\n\nPresently, these pieces all take some form of `Options` struct or pass\nexplicit arguments. This is problematic for a couple of reasons:\n\n* It could be possible for different parts of the codebase to end up\noperating in different contexts/with different configurations, whether\ndue to different values being passed explicitly or due to missed\ncopying/instantiation.\n* Some parts need less context/configuration than others, but still\naccept full `Options`, making it hard to discern what information is\nactually necessary in any given part of the process.\n\nThis commit attempts to clean things up by moving deployment options\ndirectly into the `Deployment` itself. Since step generation and\nexecution already refer to a `Deployment`, they get a consistent view of\nthe options for free. For source evaluation, we introduce an\n`EvalSourceOptions` struct for configuring just the options necessary\nthere. At the top level, the engine configures a single set of options\nto flow through the deployment steps later on.\n\nAs part of this work, a few other things have been changed:\n\n* Preview/dry-run parameters have been incorporated into options. This\nlets up lop off another argument and mitigate a bit of \"boolean\nblindness\". We don't appear to flip this flag within a deployment\nprocess (indeed, all options seem to be immutable) and so having it as a\nseparate flag doesn't seem to buy us anything.\n* Several methods representing parts of the deployment process have lost\narguments in favour of state that is already being carried on (or can be\ncarried on) their receiver. For instance, `deployment.run` no longer\ntakes actions or preview configuration. While doing so means that a\n`deployment` could be run multiple times with different actions/preview\narguments, we don't currently exploit this fact anywhere, so moving this\nstate to the point of construction both simplifies things considerably\nand reduces the possibility for error (e.g. passing different values of\n`preview` when instantiating a `deployment` and subsequently calling\n`run`).\n* Event handlers have been split out of the options object and attached\nto `Deployment` separately. This means we can talk about options at a\nhigher level without having to `nil` out/worry about this field and\nmutate it correctly later on.\n* Options are no longer mutated during deployment. Presently there\nappears to be only one case of this -- when handling `ContinueOnError`\nin the presence of `IgnoreChanges` (e.g. when performing a refresh).\nThis case has been refactored so that the mutation is no longer\nnecessary.\n\n# Notes\n\n* This change is in preparation for #16146, where we'd like to add an\nenvironment variable to control behaviour and having a single unified\n`Options` struct would make it easier to pass this configuration down\nwith introducing (more) global state into deployments. Indeed, this\nchange should make it easier to factor global state into `Options` so\nthat it can be controlled and tested more easily/is less susceptible to\nbugs, race conditions, etc.\n* I've tweaked/extended some comments while I'm here and have learned\nthings the hard way (e.g. `Refresh` vs `isRefresh`). Feedback welcome on\nthis if we'd rather not conflate.\n* This change does mean that if in future we wanted e.g. to be able to\nrun a `Deployment` in multiple different ways with multiple sets of\nactions, we'd have to refactor. Pushing state to the point of object\nconstruction reduces the flexibility of the code. However, since we are\nnot presently using that flexibility (nor is there an obvious [to my\nmind] use case in the near future), this seems like a good trade-off to\nguard against bugs/make it simpler to move that state around.\n* I've left some other review comments in the code around\nquestions/changes that might be a bad idea; happy to receive feedback on\nit all though!","shortMessageHtmlLink":"Clean up deployment options (#16357)"}},{"before":null,"after":"17aa6e678503e3c50130e956c258036ea6f6c47f","ref":"refs/heads/gh-readonly-queue/master/pr-16357-0565477dc01796ce25300942bd0a14b95871ba6d","pushedAt":"2024-06-11T13:38:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Clean up deployment options (#16357)\n\n# Description\n\nThere are a number of parts of the deployment process that require\ncontext about and configuration for the operation being executed. For\ninstance:\n\n* Source evaluation -- evaluating programs in order to emit resource\nregistrations\n* Step generation -- processing resource registrations in order to\ngenerate steps (create this, update that, delete the other, etc.)\n* Step execution -- executing steps in order to action a deployment.\n\nPresently, these pieces all take some form of `Options` struct or pass\nexplicit arguments. This is problematic for a couple of reasons:\n\n* It could be possible for different parts of the codebase to end up\noperating in different contexts/with different configurations, whether\ndue to different values being passed explicitly or due to missed\ncopying/instantiation.\n* Some parts need less context/configuration than others, but still\naccept full `Options`, making it hard to discern what information is\nactually necessary in any given part of the process.\n\nThis commit attempts to clean things up by moving deployment options\ndirectly into the `Deployment` itself. Since step generation and\nexecution already refer to a `Deployment`, they get a consistent view of\nthe options for free. For source evaluation, we introduce an\n`EvalSourceOptions` struct for configuring just the options necessary\nthere. At the top level, the engine configures a single set of options\nto flow through the deployment steps later on.\n\nAs part of this work, a few other things have been changed:\n\n* Preview/dry-run parameters have been incorporated into options. This\nlets up lop off another argument and mitigate a bit of \"boolean\nblindness\". We don't appear to flip this flag within a deployment\nprocess (indeed, all options seem to be immutable) and so having it as a\nseparate flag doesn't seem to buy us anything.\n* Several methods representing parts of the deployment process have lost\narguments in favour of state that is already being carried on (or can be\ncarried on) their receiver. For instance, `deployment.run` no longer\ntakes actions or preview configuration. While doing so means that a\n`deployment` could be run multiple times with different actions/preview\narguments, we don't currently exploit this fact anywhere, so moving this\nstate to the point of construction both simplifies things considerably\nand reduces the possibility for error (e.g. passing different values of\n`preview` when instantiating a `deployment` and subsequently calling\n`run`).\n* Event handlers have been split out of the options object and attached\nto `Deployment` separately. This means we can talk about options at a\nhigher level without having to `nil` out/worry about this field and\nmutate it correctly later on.\n* Options are no longer mutated during deployment. Presently there\nappears to be only one case of this -- when handling `ContinueOnError`\nin the presence of `IgnoreChanges` (e.g. when performing a refresh).\nThis case has been refactored so that the mutation is no longer\nnecessary.\n\n# Notes\n\n* This change is in preparation for #16146, where we'd like to add an\nenvironment variable to control behaviour and having a single unified\n`Options` struct would make it easier to pass this configuration down\nwith introducing (more) global state into deployments. Indeed, this\nchange should make it easier to factor global state into `Options` so\nthat it can be controlled and tested more easily/is less susceptible to\nbugs, race conditions, etc.\n* I've tweaked/extended some comments while I'm here and have learned\nthings the hard way (e.g. `Refresh` vs `isRefresh`). Feedback welcome on\nthis if we'd rather not conflate.\n* This change does mean that if in future we wanted e.g. to be able to\nrun a `Deployment` in multiple different ways with multiple sets of\nactions, we'd have to refactor. Pushing state to the point of object\nconstruction reduces the flexibility of the code. However, since we are\nnot presently using that flexibility (nor is there an obvious [to my\nmind] use case in the near future), this seems like a good trade-off to\nguard against bugs/make it simpler to move that state around.\n* I've left some other review comments in the code around\nquestions/changes that might be a bad idea; happy to receive feedback on\nit all though!","shortMessageHtmlLink":"Clean up deployment options (#16357)"}},{"before":"3c7d1b27a54920f3de0bee86ad270604598e31a6","after":"60d9a67e015cead7e59e704289580ead87e556e0","ref":"refs/heads/wjones/deployment-options","pushedAt":"2024-06-11T13:37:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lunaris","name":"Will Jones","path":"/lunaris","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/163793?s=80&v=4"},"commit":{"message":"Clean up deployment options\n\nThere are a number of parts of the deployment process that require\ncontext about and configuration for the operation being executed. For\ninstance:\n\n* Source evaluation -- evaluating programs in order to emit resource\n registrations\n\n* Step generation -- processing resource registrations in order to\n generate steps (create this, update that, delete the other, etc.)\n\n* Step execution -- executing steps in order to action a deployment.\n\nPresently, these pieces all take some form of `Options` struct or pass\nexplicit arguments. This is problematic for a couple of reasons:\n\n* It could be possible for different parts of the codebase to end up\n operating in different contexts/with different configurations, whether\n due to different values being passed explicitly or due to missed\n copying/instantiation.\n\n* Some parts need less context/configuration than others, but still\n accept full `Options`, making it hard to discern what information is\n actually necessary in any given part of the process.\n\nThis commit attempts to clean things up by moving deployment options\ndirectly into the `Deployment` itself. Since step generation and\nexecution already refer to a `Deployment`, they get a consistent view of\nthe options for free. For source evaluation, we introduce an\n`EvalSourceOptions` struct for configuring just the options necessary\nthere. At the top level, the engine configures a single set of options\nto flow through the deployment steps later on.\n\nAs part of this work, a few other things have been changed:\n\n* Preview/dry-run parameters have been incorporated into options. This\n lets up lop off another argument and mitigate a bit of \"boolean\n blindness\". We don't appear to flip this flag within a deployment\n process (indeed, all options seem to be immutable) and so having it as\n a separate flag doesn't seem to buy us anything.\n\n* Several methods representing parts of the deployment process have lost\n arguments in favour of state that is already being carried on (or can\n be carried on) their receiver. For instance, `deployment.run` no\n longer takes actions or preview configuration. While doing so means\n that a `deployment` could be run multiple times with different\n actions/preview arguments, we don't currently exploit this fact\n anywhere, so moving this state to the point of construction both\n simplifies things considerably and reduces the possibility for error\n (e.g. passing different values of `preview` when instantiating a\n `deployment` and subsequently calling `run`).\n\n* Event handlers have been split out of the options object and attached\n to `Deployment` separately. This means we can talk about options at a\n higher level without having to `nil` out/worry about this field and\n mutate it correctly later on.\n\n* Options are no longer mutated during deployment. Presently there\n appears to be only one case of this -- when handling `ContinueOnError`\n in the presence of `IgnoreChanges` (e.g. when performing a refresh).\n This case has been refactored so that the mutation is no longer\n necessary.","shortMessageHtmlLink":"Clean up deployment options"}},{"before":null,"after":"0565477dc01796ce25300942bd0a14b95871ba6d","ref":"refs/heads/gh-readonly-queue/master/pr-16362-13ffd51017a4231916328a013d75d6de54f932b7","pushedAt":"2024-06-11T12:59:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Add explict provider test to conformance tests (#16362)\n\n\n\n# Description\n\n\n\nAdds a conformance test for an explicit provider resource.","shortMessageHtmlLink":"Add explict provider test to conformance tests (#16362)"}},{"before":"baa424474e16ae68537590d3210835c2afd65731","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/sdk/nodejs/npm_and_yarn-6ecae49495","pushedAt":"2024-06-11T12:38:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":null,"after":"2b9cbf76f4912e163c2edc4949f7308ee250fc22","ref":"refs/heads/dependabot/npm_and_yarn/sdk/nodejs/npm_and_yarn-8eaf984e55","pushedAt":"2024-06-11T12:38:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump the npm_and_yarn group across 1 directory with 2 updates\n\nBumps the npm_and_yarn group with 2 updates in the /sdk/nodejs directory: [@grpc/grpc-js](https://github.com/grpc/grpc-node) and [braces](https://github.com/micromatch/braces).\n\n\nUpdates `@grpc/grpc-js` from 1.10.1 to 1.10.9\n- [Release notes](https://github.com/grpc/grpc-node/releases)\n- [Commits](https://github.com/grpc/grpc-node/compare/@grpc/grpc-js@1.10.1...@grpc/grpc-js@1.10.9)\n\nUpdates `braces` from 3.0.2 to 3.0.3\n- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)\n\n---\nupdated-dependencies:\n- dependency-name: \"@grpc/grpc-js\"\n dependency-type: direct:production\n dependency-group: npm_and_yarn\n- dependency-name: braces\n dependency-type: indirect\n dependency-group: npm_and_yarn\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump the npm_and_yarn group across 1 directory with 2 updates"}},{"before":"803dbd508dd4b66bcb5b9555fe4824f7e41e3dbd","after":null,"ref":"refs/heads/julienp/entrypoint","pushedAt":"2024-06-11T12:37:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"julienp","name":"Julien P","path":"/julienp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/387068?s=80&v=4"}},{"before":"13ffd51017a4231916328a013d75d6de54f932b7","after":null,"ref":"refs/heads/gh-readonly-queue/master/pr-16363-1d47a7d6e3708e609eb2da5b8f90715cb42ecbcd","pushedAt":"2024-06-11T12:37:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"1d47a7d6e3708e609eb2da5b8f90715cb42ecbcd","after":"13ffd51017a4231916328a013d75d6de54f932b7","ref":"refs/heads/master","pushedAt":"2024-06-11T12:37:04.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Only look for main in package.json if no entyrpoint was set via Pulumi.yaml (#16363)\n\n# Description\n\n`main` in Pulumi.yaml is supposed to take precedence over `main` in\n`package.json`, but we inadvertently broke this in\nhttps://github.com/pulumi/pulumi/commit/cf1189bf2c9a31b7d0ca7aa280661af892029aa4\n\nFixes https://github.com/pulumi/pulumi/issues/16274\n\n## Checklist\n\n- [x] I have run `make tidy` to update any new dependencies\n- [x] I have run `make lint` to verify my code passes the lint check\n - [x] I have formatted my code using `gofumpt`","shortMessageHtmlLink":"Only look for main in package.json if no entyrpoint was set via Pulum…"}},{"before":"29ee3ee0b777325cc51cd09b1d95041d98cfbeee","after":"e8ef90a1a21ca4b83756df98c9a4d34161eb9c4e","ref":"refs/heads/fraser/explicitConformance","pushedAt":"2024-06-11T12:08:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Frassle","name":"Fraser Waters","path":"/Frassle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1398274?s=80&v=4"},"commit":{"message":"Add explict provider test to conformance tests","shortMessageHtmlLink":"Add explict provider test to conformance tests"}},{"before":"b8c3f2b4cbedc929a59c06128e26f0f83865dbc8","after":"29ee3ee0b777325cc51cd09b1d95041d98cfbeee","ref":"refs/heads/fraser/explicitConformance","pushedAt":"2024-06-11T11:38:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Frassle","name":"Fraser Waters","path":"/Frassle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1398274?s=80&v=4"},"commit":{"message":"Add explict provider test to conformance tests","shortMessageHtmlLink":"Add explict provider test to conformance tests"}},{"before":null,"after":"13ffd51017a4231916328a013d75d6de54f932b7","ref":"refs/heads/gh-readonly-queue/master/pr-16363-1d47a7d6e3708e609eb2da5b8f90715cb42ecbcd","pushedAt":"2024-06-11T11:36:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Only look for main in package.json if no entyrpoint was set via Pulumi.yaml (#16363)\n\n# Description\n\n`main` in Pulumi.yaml is supposed to take precedence over `main` in\n`package.json`, but we inadvertently broke this in\nhttps://github.com/pulumi/pulumi/commit/cf1189bf2c9a31b7d0ca7aa280661af892029aa4\n\nFixes https://github.com/pulumi/pulumi/issues/16274\n\n## Checklist\n\n- [x] I have run `make tidy` to update any new dependencies\n- [x] I have run `make lint` to verify my code passes the lint check\n - [x] I have formatted my code using `gofumpt`","shortMessageHtmlLink":"Only look for main in package.json if no entyrpoint was set via Pulum…"}},{"before":"5e82c763e6febc9a635406f6c023f82a91e02443","after":"ce221341e29136ed6ed4e314e33a2fb6efabc34f","ref":"refs/heads/julienp/convert-requirements","pushedAt":"2024-06-11T10:35:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"julienp","name":"Julien P","path":"/julienp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/387068?s=80&v=4"},"commit":{"message":"Add integration test","shortMessageHtmlLink":"Add integration test"}},{"before":"641d6fe8386eda511dbf43282e6e4e400c450b9a","after":"5e82c763e6febc9a635406f6c023f82a91e02443","ref":"refs/heads/julienp/convert-requirements","pushedAt":"2024-06-11T10:26:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"julienp","name":"Julien P","path":"/julienp","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/387068?s=80&v=4"},"commit":{"message":"Update changelog/pending/20240610--sdk-python--automatically-converts-requirements-txt-to-pyproject-toml-when-using-poetry.yaml\n\nCo-authored-by: Thomas Gummerer ","shortMessageHtmlLink":"Update changelog/pending/20240610--sdk-python--automatically-converts…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYnnE2AA","startCursor":null,"endCursor":null}},"title":"Activity · pulumi/pulumi"}