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

Bump Expected Minimum Go Version to 1.17 #933

Closed
bflad opened this issue Apr 11, 2022 · 2 comments
Closed

Bump Expected Minimum Go Version to 1.17 #933

bflad opened this issue Apr 11, 2022 · 2 comments
Labels
enhancement New feature or request
Milestone

Comments

@bflad
Copy link
Member

bflad commented Apr 11, 2022

terraform-plugin-sdk version

main branch

Use cases

Following the Go support policy and given the ecosystem availability and stability of the latest Go minor version, it's time to upgrade. This will ensure that this project can use recent improvements to the Go runtime, standard library functionality, and continue to receive security updates

Proposal

  • Run the following commands to upgrade the Go module files and remove deprecated syntax such as //+build:
go mod edit -go=1.17
go mod tidy
go fix
  • Ensure any GitHub Actions workflows (.github/workflows/*.yml) use 1.18 in place of any 1.17 and 1.17 in place of any 1.16 or earlier
  • Ensure the README or any Contributing documentation notes the Go 1.17 expected minimum
  • (Not applicable to all projects) Ensure the .go-version is at least 1.17 or later
  • Enable the tenv linter in .golangci.yml and remediate any issues.

References

@bflad bflad added the enhancement New feature or request label Apr 11, 2022
bflad added a commit that referenced this issue Apr 11, 2022
Reference: #933

Previously from `tenv` linter:

```
helper/schema/schema_test.go:29:2: os.Setenv() can be replaced by `t.Setenv()` in TestEnvDefaultFunc (tenv)
        if err := os.Setenv(key, "foo"); err != nil {
        ^
helper/schema/schema_test.go:67:2: os.Setenv() can be replaced by `t.Setenv()` in TestMultiEnvDefaultFunc (tenv)
        if err := os.Setenv(keys[0], "foo"); err != nil {
        ^
helper/schema/schema_test.go:85:2: os.Setenv() can be replaced by `t.Setenv()` in TestMultiEnvDefaultFunc (tenv)
        if err := os.Setenv(keys[1], "foo"); err != nil {
        ^
helper/schema/schema_test.go:8479:2: os.Setenv() can be replaced by `t.Setenv()` in TestPanicOnErrorDefaultsFalse (tenv)
        os.Setenv("TF_ACC", "")
        ^
helper/schema/schema_test.go:8484:2: os.Setenv() can be replaced by `t.Setenv()` in TestPanicOnErrorDefaultsFalse (tenv)
        os.Setenv("TF_ACC", oldEnv)
        ^
helper/schema/schema_test.go:8490:2: os.Setenv() can be replaced by `t.Setenv()` in TestPanicOnErrorTF_ACCSet (tenv)
        os.Setenv("TF_ACC", "1")
        ^
helper/schema/schema_test.go:8495:2: os.Setenv() can be replaced by `t.Setenv()` in TestPanicOnErrorTF_ACCSet (tenv)
        os.Setenv("TF_ACC", oldEnv)
        ^
```
bflad added a commit that referenced this issue Apr 12, 2022
Reference: #933

Previously from `tenv` linter:

```
helper/schema/schema_test.go:29:2: os.Setenv() can be replaced by `t.Setenv()` in TestEnvDefaultFunc (tenv)
        if err := os.Setenv(key, "foo"); err != nil {
        ^
helper/schema/schema_test.go:67:2: os.Setenv() can be replaced by `t.Setenv()` in TestMultiEnvDefaultFunc (tenv)
        if err := os.Setenv(keys[0], "foo"); err != nil {
        ^
helper/schema/schema_test.go:85:2: os.Setenv() can be replaced by `t.Setenv()` in TestMultiEnvDefaultFunc (tenv)
        if err := os.Setenv(keys[1], "foo"); err != nil {
        ^
helper/schema/schema_test.go:8479:2: os.Setenv() can be replaced by `t.Setenv()` in TestPanicOnErrorDefaultsFalse (tenv)
        os.Setenv("TF_ACC", "")
        ^
helper/schema/schema_test.go:8484:2: os.Setenv() can be replaced by `t.Setenv()` in TestPanicOnErrorDefaultsFalse (tenv)
        os.Setenv("TF_ACC", oldEnv)
        ^
helper/schema/schema_test.go:8490:2: os.Setenv() can be replaced by `t.Setenv()` in TestPanicOnErrorTF_ACCSet (tenv)
        os.Setenv("TF_ACC", "1")
        ^
helper/schema/schema_test.go:8495:2: os.Setenv() can be replaced by `t.Setenv()` in TestPanicOnErrorTF_ACCSet (tenv)
        os.Setenv("TF_ACC", oldEnv)
        ^
```
@bflad
Copy link
Member Author

bflad commented Apr 12, 2022

Completed yesterday: #934

@bflad bflad closed this as completed Apr 12, 2022
@bflad bflad added this to the v2.14.0 milestone Apr 12, 2022
@github-actions
Copy link

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 13, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant