Skip to content

render: Don't try to start non-functions as functions - #419

Open
adamwg wants to merge 1 commit into
crossplane:mainfrom
adamwg:awg/providers-arent-functions
Open

adamwg wants to merge 1 commit into
crossplane:mainfrom
adamwg:awg/providers-arent-functions

Conversation

@adamwg

@adamwg adamwg commented Oct 9, 2026

Copy link
Copy Markdown
Member

Description of your changes

Previously, render tried to start all runtime xpkg dependencies as functions, including providers. This didn't cause any problems (the providers sat running, doing nothing), but was wasteful and increased the chance of render timing out while pulling packages.

Explicitly check the kind of each dependency and skip any that are not functions.

I have:

Previously, render tried to start all runtime xpkg dependencies as functions,
including providers. This didn't cause any problems (the providers sat running,
doing nothing), but was wasteful and increased the chance of render timing out
while pulling packages.

Explicitly check the kind of each dependency and skip any that are not
functions.

Signed-off-by: Adam Wolfe Gordon <awg@upbound.io>
@coderabbitai

coderabbitai Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: crossplane/cli/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: cbb5c8a1-518f-4e1c-b863-d247c663cb19

📥 Commits

Reviewing files that changed from the base of the PR and between 9bb7a4b and 7e7d2fa.


📒 Files selected for processing (1)
  • internal/project/render.go

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.



📝 Walkthrough

Walkthrough

LoadFunctionDependencies now skips xpkg dependencies whose kind is not pkgv1.FunctionKind. Only function dependencies continue to reference resolution and manifest creation.

Changes

Function dependency filtering

Layer / File(s) Summary
Filter dependencies by kind
internal/project/render.go
LoadFunctionDependencies skips xpkg dependencies unless their kind is pkgv1.FunctionKind. Other dependencies do not continue to reference resolution or manifest creation.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~5 minutes

Change: Bug fix


Merge Risk: ⚪ Minimal · up to 7e7d2

Provider dependencies remain in Configuration metadata, and only function dependencies are started. No merge-blocking risk is evident from this change.

Pre-merge checks | Passed 6
✅ Passed checks (6 passed)
Check name Status Explanation
Title check Passed The title is 53 characters, stays under 72 characters, and clearly describes the change to avoid starting non-function dependencies as functions.
Description check Passed The description directly explains the change, its motivation, and the reported validation command. It is related to the changeset.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Breaking Changes Passed The pull request changes only internal/project/render.go. The custom check applies only to files under apis/** or cmd/**, so its failure conditions do not apply.
Feature Gate Requirement Passed PASS — The pull request changes only internal/project/render.go and does not modify apis/**. The added condition makes LoadFunctionDependencies skip non-function xpkg dependencies before resolut…


  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant