Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate a standalone "zz_generated.terraformed.go" file for each resource #326

Merged

Conversation

ulucinar
Copy link
Collaborator

@ulucinar ulucinar commented Jan 9, 2024

Description of your changes

This PR proposes a change with which we start generating a standalone zz_generated.terraformed.go file for each resource. Each resource will now have its own resource.Terraformed interface implementation file. The per-group zz_generated_terraformed.go is now split into per-resource multiple zz_generated.terraformed.go files (if there are multiple resources in a given API group). This helps us while generating multiple versions for the CRDs because we do not generate from scratch the old API versions of a given resource as the generation pipeline is really expensive and instead, reuse the generated old versions.

Note: We will check the implications of this change on the provider repositories, such as the linter running times, etc.

I have:

  • Read and followed Upjet's contribution process.
  • Run make reviewable to ensure this PR is ready for review.
  • Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

Manually with crossplane-contrib/provider-upjet-aws#1075.

…ource

- Each resource will now have its own resource.Terraformed interface
  implementation file.
- The per-group "zz_generated_terraformed.go" is now split into
  per-resource "zz_generated.terraformed.go" files.
- This helps while generating multiple versions for the CRDs.

Signed-off-by: Alper Rifat Ulucinar <[email protected]>
Copy link
Member

@sergenyalcin sergenyalcin left a comment

Choose a reason for hiding this comment

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

Thanks @ulucinar LGMT. Also validated in the test effort of provider-aws multiversion-crds

@ulucinar ulucinar merged commit 87fae5e into crossplane:main Jan 23, 2024
7 checks passed
@ulucinar ulucinar deleted the isolate-terraformed-implementations branch January 23, 2024 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants