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

Backport of Use enumer to generate String() methods for most enums into release/1.16.x #26469

Merged

Conversation

hc-github-team-secure-vault-core
Copy link
Collaborator

Backport

This PR is auto-generated from #25705 to be assessed for backporting due to the inclusion of the label backport/1.16.x.

🚨

Warning automatic cherry-pick of commits failed. If the first commit failed,
you will see a blank no-op commit below. If at least one commit succeeded, you
will see the cherry-picked commits up to, not including, the commit where
the merge conflict occurred.

The person who merged in the original PR is:
@swenson
This person should manually cherry-pick the original PR into a new backport PR,
and close this one when the manual backport PR is merged in.

merge conflict error: POST https://api.github.com/repos/hashicorp/vault/merges: 409 Merge conflict []

The below text is copied from the body of the original PR.


We have many hand-written String() methods (and similar) for enums. These require more maintenance and are more error-prone than using automatically generated methods. In addition, the auto-generated versions can be more efficient.

Here, we switch to using https://github.com/loggerhead/enumer, itself a fork of https://github.com/diegostamigni/enumer, no longer maintained, and a fork of the mostly standard tool
https://pkg.go.dev/golang.org/x/tools/cmd/stringer. We use this fork of enumer for Go 1.20+ compatibility and because we require the -transform flag to be able to generate constants that match our current code base.

Some enums were not targeted for this change:

  • Bit sets, which are not supported by enumer or stringer.
  • Enums with non-standard naming schemes, like having a common suffix instead of a prefix, or using spaces instead of underscores or dashes.
  • Enums that don't have a type associated

Overview of commits

@github-actions github-actions bot added the hashicorp-contributed-pr If the PR is HashiCorp (i.e. not-community) contributed label Apr 17, 2024
Copy link

hashicorp-cla-app bot commented Apr 17, 2024

CLA assistant check
All committers have signed the CLA.

Copy link

CLA assistant check

Thank you for your submission! We require that all contributors sign our Contributor License Agreement ("CLA") before we can accept the contribution. Read and sign the agreement

Learn more about why HashiCorp requires a CLA and what the CLA includes


temp seems not to be a GitHub user.
You need a GitHub account to be able to sign the CLA.
If you have already a GitHub account, please add the email address used for this commit to your account.

Have you signed the CLA already but the status is still pending? Recheck it.

Copy link

CI Results:
All Go tests succeeded! ✅

We have many hand-written String() methods (and similar) for enums.
These require more maintenance and are more error-prone than using
automatically generated methods. In addition, the auto-generated
versions can be more efficient.

Here, we switch to using https://github.com/loggerhead/enumer, itself
a fork of https://github.com/diegostamigni/enumer, no longer maintained,
and a fork of the mostly standard tool
https://pkg.go.dev/golang.org/x/tools/cmd/stringer.
We use this fork of enumer for Go 1.20+ compatibility and because
we require the `-transform` flag to be able to generate
constants that match our current code base.

Some enums were not targeted for this change:
@swenson swenson force-pushed the backport/enum-string/rationally-special-mite branch from ce24361 to 84542ed Compare April 17, 2024 18:29
@swenson swenson marked this pull request as ready for review April 17, 2024 18:29
@swenson swenson requested review from a team as code owners April 17, 2024 18:29
@swenson swenson requested a review from a team April 17, 2024 18:41
Copy link

Build Results:
All builds succeeded! ✅

@sgmiller sgmiller added this to the 1.16.2 milestone Apr 18, 2024
@swenson
Copy link
Contributor

swenson commented Apr 18, 2024

Thanks! I'll go ahead and merge this for now.

@swenson swenson merged commit b2e6565 into release/1.16.x Apr 18, 2024
84 of 99 checks passed
@swenson swenson deleted the backport/enum-string/rationally-special-mite branch April 18, 2024 22:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hashicorp-contributed-pr If the PR is HashiCorp (i.e. not-community) contributed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants