-
Notifications
You must be signed in to change notification settings - Fork 0
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
Go 1.18 released #557
Comments
Note to self: Probably worth making changes in small steps. Update unstable image to official Go 1.18 release, but keep the stable image on 1.17 for the time being for best compatibility with golangci-lint. Not sure yet about the oldstable image. |
Using golangci-lint with Go 1.18 requires a new setting. Some linters are disabled when enabling Go 1.18 support. See: Example (borrowed from goreleaser/goreleaser#2989): diff --git a/.golangci.yaml b/.golangci.yaml
index 126b222f13..a0731d5063 100644
--- a/.golangci.yaml
+++ b/.golangci.yaml
@@ -1,3 +1,5 @@
+run:
+ go: 1.18
linters:
enable:
- thelper |
Note: The golangci-lint v1.45.0 Docker images were updated to use Go 1.18 as the base:
Since we're postponing upgrading "stable" images for this project to Go 1.18, I may need to update the |
Disable Dependabot Go 1.18 Docker updates until newer versions of golangci-lint resolve compatibility issues. refs GH-557
Go 1.19beta1 has been released. Cross-post from #656 (comment):
We'll need to drop any hard-coded Go 1.17 specific settings in golangci-lint and allow auto-detection to take place. |
CHANGES - each image type (`stable`, `unstable`, `oldstable`) has their own copy of the golangci-lint config file with the `stable` variants being given a copy of the via the Makefile build recipe - each image type (`stable`, `unstable`, `oldstable`) is given a copy of the markdownlint config file via Makefile build recipe - Makefile clean recipe updated to remove temporary copies of linter config files - Makefile build recipe updated to limit copying of linter config files to just the images which use them - `oldstable` image - explicitly specifies the Go version limit for golangci-lint as Go 1.17 - updated Go from `1.16.15` to `1.17.11` - `unstable` image - explicitly specifies the Go version limit for golangci-lint as Go 1.18 (for now) - updated Go from `1.18.3` to `1.19beta1` - `stable` image - variants providing the golangci-lint linter explicitly specify the Go version limit for golangci-lint as Go 1.18 - updated Go from `1.17.11` to `1.18.3` - update README to drop compatibility notes regarding the `oldstable` image and older `staticcheck` version used for Go 1.16 compatibility - update go.mod file to reflect current stable version of Go (1.18) with a note to update the version going forward refs GH-557 refs GH-656
Considering the core work complete. The process of updating the |
As part of promoting the versions of Go used in each image type the linters enabled for the unstable image were ported as-is to the stable container. This commit reverts the unintended changes restoring the original list of linters used by the unstable image. Specifically: - errcheck - gochecknoglobals - gocognit - gocyclo - goerr113 refs GH-557 refs GH-656 refs GH-658
Overview
Need to refresh
oldstable
to use Go1.17
andstable
to use the new Go1.18
version.References to Go
1.16
can be removed entirely.The Go
1.18rc1
-basedunstable
container can be updated to1.18
for the time being until the first 1.19-based pre-release becomes available.NOTE: golangci-lint is still not 1.18 "certified", so will need to build from source for the time being. This requires updating the
stable
variants to match the currentunstable
container, while keeping theoldstable
container logic (e.g., install via official installation script) intact.TODO
oldstable
image to use Go1.17
stable
image to use Go1.18
stable
image to use same steps asunstable
image for building/installing currentgolangci-lint
golangci-lint
officially supports Go1.18
(and running within a Go 1.18 container)oldstable
image (now based on Go1.17
)unstable
image to use Go1.18
1.16
References
The text was updated successfully, but these errors were encountered: