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

Add make command to upgrade DCL, use it to see if it works. #5201

Merged
merged 1 commit into from
Sep 14, 2021

Conversation

nat-henderson
Copy link
Contributor

Minor tpgtools usability enhancement to make it easier to upgrade to the newest version of the DCL. Inspired by kcctools' similar version of the same thing.

If this PR is for Terraform, I acknowledge that I have:

  • Searched through the issue tracker for an open issue that this either resolves or contributes to, commented on it to claim it, and written "fixes {url}" or "part of {url}" in this PR description. If there were no relevant open issues, I opened one and commented that I would like to work on it (not necessary for very small changes).
  • Generated Terraform, and ran make test and make lint to ensure it passes unit and linter tests.
  • Ensured that all new fields I added that can be set by a user appear in at least one example (for generated resources) or third_party test (for handwritten resources or update tests).
  • Ran relevant acceptance tests (If the acceptance tests do not yet pass or you are unable to run them, please let your reviewer know).
  • Read the Release Notes Guide before writing my release note below.

Release Note Template for Downstream PRs (will be copied)

@google-cla google-cla bot added the cla: yes label Sep 14, 2021
@nat-henderson
Copy link
Contributor Author

Might crash in generation - not sure how prickly go is about tabs and spaces and formatting in there. Can't seem to get a tab in sed in the makefile, not sure why, think it's using a different sed than my system sed.

@modular-magician
Copy link
Collaborator

Hi! I'm the modular magician. Your PR generated some diffs in downstreams - here they are.

Diff report:

Terraform GA: Diff ( 2 files changed, 3 insertions(+), 1 deletion(-))
Terraform Beta: Diff ( 3 files changed, 4 insertions(+), 2 deletions(-))

@nat-henderson
Copy link
Contributor Author

Works On My Machine ™️ :)

@@ -52,5 +52,16 @@ serialize:
go run . --path "api" --overrides "overrides" --mode "serialization" > temp.serial;\
mv -f temp.serial serialization.go;\

upgrade-dcl:
cd tpgtools && \
go mod edit -require=github.com/GoogleCloudPlatform/declarative-resource-client-library@latest &&\
Copy link
Member

Choose a reason for hiding this comment

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

What does this do vs running go get github.com/GoogleCloudPlatform/declarative-resource-client-library@latest? Will it just avoid getting the new version on the user's machine?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yep, that's all!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oh, also it doesn't depend on what version of go you're running or your setting of GO111MODULES (or whatever that env var is called)

MOD_LINE=$$(grep declarative-resource-client-library go.mod);\
SUM_LINE=$$(grep declarative-resource-client-library go.sum);\
cd ../mmv1/third_party/terraform && \
sed -i "/declarative-resource-client-library/c$$(printf '\t')$$MOD_LINE" go.mod.erb; echo -e "$$SUM_LINE" >> go.sum
Copy link
Member

Choose a reason for hiding this comment

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

Echoing to go.sum is allowed because you can have multiple versions of a library in there, right? So running go mod tidy on a downstream and copypasting up will clean those up when there's a lot of them.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes!

@modular-magician
Copy link
Collaborator

I have triggered VCR tests in RECORDING mode for the following tests that failed during VCR: TestAccComputeForwardingRule_update You can view the result here: https://ci-oss.hashicorp.engineering/viewQueued.html?itemId=205772

@nat-henderson
Copy link
Contributor Author

Great, this works!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants