Skip to content

Conversation

@liamcervante
Copy link
Member

This PR disables deferral support for actions, hopefully temporarily.

Essentially, if an action is deferred it should retroactively mark the resource that triggered it as deferred as well. This leads to dependency problems as other resources could have already executed. The longer term fix for this is to add some kind of post plan step that can properly organise the retroactive deferrals once the outcome of all the planning is known.

For now, the rules are:

  1. Actions cannot organically trigger deferrals themselves.
  2. Actions can be deferred if a dependency has been deferred.
  3. Action invocations can only be deferred if the resource that triggered them is deferred.

There is now logic that returns diagnostics for the above three cases, and ensures that deferrals are disallowed with sensible explanations provided.

@liamcervante liamcervante requested a review from a team as a code owner September 30, 2025 16:03
@liamcervante liamcervante added no-changelog-needed Add this to your PR if the change does not require a changelog entry 1.14-backport If you add this label to a PR before merging, backport-assistant will open a new PR once merged labels Sep 30, 2025
if change == nil {
// nothing to do (this may be a refresh )
return nil
return diags
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oooh thank you, that was my omission - good catch

Copy link
Contributor

@mildwonkey mildwonkey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻 looks solid to me, thank you!

@liamcervante liamcervante merged commit 8986651 into main Oct 1, 2025
9 of 11 checks passed
@liamcervante liamcervante deleted the liamcervante/actions/disable-deferrals branch October 1, 2025 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.14-backport If you add this label to a PR before merging, backport-assistant will open a new PR once merged no-changelog-needed Add this to your PR if the change does not require a changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants