-
-
Notifications
You must be signed in to change notification settings - Fork 17
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
Update to Go 1.18 #72
Conversation
Pull Request Test Coverage Report for Build 2313365415Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
@pedreviljoen Thanks for this. This PR can't be merged just yet. The reason is that we are using go-test-runner/.github/workflows/test.yml Lines 16 to 19 in 5670f9f
However, However, there's another nuance to this. At version https://github.com/golangci/golangci-lint/blob/8bdc4d3f8044b1a20e10a9f519b5f738e8188877/go.mod#L99 This check is used in our Go repositories, and it is enabled by default by https://github.com/golangci/golangci-lint/blob/ff93f2715709ab084d0004b197f5ba84116a65ee/go.mod#L101 However, this is only on master, it's not on any of the official releases. It is expected to be included on the next release of This should also be merged together with the update to the analyzer. |
@andrerfcsantos |
The best way is to keep track of new releases of golangci/golangci-lint There's also this issue keeping track of the support for 1.18 of all the linters of In our case, I think it's fine to wait just for the next release of |
@pedreviljoen golangci-lint released an update today (1.46.0) that updates The relevant changelog lines for us are:
So it would be great if you could update this PR to use golangci-lint v1.46.0. It's probably also a good idea to update the versions for our actions:
@pedreviljoen Let us know if you are still interested in finishing this. |
@andrerfcsantos |
@andrerfcsantos |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pedreviljoen The tests for the repo are now passing, which is great! This is definitively an improvement.
My only suggestion would only be to convert all actions/setup-go@v2
to actions/setup-go@v3
not just the one for the "tests" job - sorry if I didn't make it clear earlier. In addition, convert all instances of actions/checkout@v2
to actions/checkout@v3
- just noticed they also have a v3 now.
@pedreviljoen We'll gladly let you take care of the upgrades for the other repos too, thanks for the help! Those upgrades should be similar to this one, where we should also upgrade The only difference to this PR that comes to mind is that in the main repo (exercism/go), we are installing |
@pedreviljoen Still interested in working on this? Totally ok if you are not, just let us know and we can finish it for you. Otherwise, we are happy to let you finish. |
@andrerfcsantos |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like the pipeline is failing now on gcov2lcov
. My suggestion would be to upgrade those versions too to see if the problem is fixed:
jandelgado/gcov2lcov-action@v1.0.6
->jandelgado/gcov2lcov-action@v1.0.9
coverallsapp/github-action@v1.1.2
->coverallsapp/github-action@v1.1.3
@andrerfcsantos |
That seems to have fixed it, cool! Just waiting for more approvals and for the other tooling PRs before we can merge this one. Having also the upgrade of the analyzer to 1.18 at least would be important for us to say that the track supports 1.18. Would you also like to work on that one? |
@andrerfcsantos |
@andrerfcsantos
|
Yeah. We now just need a review from @exercism/maintainers-admin |
Is Go 1.18 backwards compatible with the currently used version (1.17 I think)? |
@ErikSchierboom Yes. New 1.x releases have the implicit promise of being compatible with all previous 1.x versions of Go. This is known as the "Go 1 compatibility promise", and it's detailed here Go 1 and the Future of Go Programs
The other related PRs: |
@@ -8,31 +8,31 @@ jobs: | |||
runs-on: ubuntu-latest | |||
steps: | |||
- name: Install Go | |||
uses: actions/setup-go@v2 | |||
uses: actions/setup-go@v3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Our GHA recommendations guide has a section on pinning actions to SHAs, for security purposes. Admittedly, the actions/
actions are less likely to be affected, but this workflow also uses some workflows developed by third-parties, for which I'd definitely recommend pinning them. It's totally fine to do this in a follow-up PR.
@ErikSchierboom I'll do follow-up PRs then :) |
As per below issue:
#68
This PR updates Go to version 1.18