-
Notifications
You must be signed in to change notification settings - Fork 15
Conversation
|
I don't think this works. Consider the following code: func NewStruct() *MyStruct {
rand.Seed(1337)
return &MyStruct{}
}
func (m *MyStruct() RandomNumber() int {
return rand.Int()
} |
|
@marten-seemann Yes, that's right. It's the case here for example: https://github.com/libp2p/go-libp2p-pubsub/blob/973fef56e1e6fd6afc568ea3c1c2f654f7754d49/backoff.go#L46 (from description; edit I just noticed uCI is not configured for it). There, I'd expect the CI to fail and the PR to require manual intervention. My assumption is that it's not the case in most of our packages and that this would work for the majority of the cases. I'm not aiming at 100% success rate. But that's exactly why I wanted your input on this because you definitely have a better view of the land. One more thing I wanted to change was to replace |
|
The alternative would be to do nothing which could be a fine starting point. We can see in practice how many repos are affected. |
|
Let me try to retrieve how many might be caught in this. |
|
Using seed (12): Using read but not crypto (29): |
That would be my preference. The worst thing that'll happen is a slight performance hit, isn't it? |
It would probably make sense to filter out test files here. |
Given the numbers, how about we automatically change |
I'd prefer to leave that decision to package maintainers. If I remember correctly, Since the function is deprecated, it will start showing up in |
|
OK, I think that's fair enough. Let me revert the automatic fix changes and we'll proceed with the release today :) |
This reverts commit ceb72ef.
* update go version to 1.20.x * fix: go 1.20 upgrade * Revert "fix: go 1.20 upgrade" This reverts commit ceb72ef.
* Add option to skip `32-bit` go test (#412) Introduce an option to configure `go-test` to allow completely skipping `32-bit` tests. Fixes #388 * Run at most 1 dispatch job per ref (#414) * fix: check if git tag returns any results (#415) * make go generate print the commands it executs (#440) * use pull_request_target event for release-check workflow (#295) * Revert "include cross-package coverage in codecov" * Revert "Revert "include cross-package coverage in codecov"" * Make automerge a reusable workflow (#260) * move automerge from template to workflows * make automerge reusable and use it from new automerge template * pass parent job name to reusable automerge * check github actions yamls (#272) * check github actions yamls * make yaml linter happy about go-test * mention VS Code YAML extension in the readme * add info about other YAML checking extensions * make yaml checker more generic * use validate-yaml-schema action from mainline (#277) * upgrade lewagon/wait-on-check-action to v1.1.1 (#278) * always add a version.json file if it doesn't exist (#281) * fix go-test runner string * check if tag already exists in release-check (#287) * allow specifying custom PATH for 386 arch (#289) * use pull_request_target event for release-check workflow * add comment on missing version.json * chore: revert release checker path trigger change * chore: add footnote when non-docs files are modified with the release * fix: prev version calculation * feat: allow configuring custom go-test runners (#443) * feat: allow configuring custom go-test runners * docs: update readme to include info on configuration variables * feat: allow skipping go-test on certain OSes (#455) * feat: standarise JSON config reading * feat: allow skipping go-test on certain OSes * fix: go-test conditional * chore: show config after extracting it * chore: udpate actions and go modules (#458) * fix: source read-config from next for now * simplify Go version upgrade procedure (#280) * chore: simplify Go version upgrade procedure * chore: add default for the go-version input of release-check * Update .github/actions/copy-workflow-go/action.yml * Update configs/README.md Co-authored-by: Laurent Senta <[email protected]> --------- Co-authored-by: Laurent Senta <[email protected]> * Go through all the workflows and clean them up ahead of the next major release (#462) * chore: clean up deprecated set-output * chore: do not use substitution inside run * chore: do not use substitution in if * chore: skip env var brakets where possible * fix: env var substitution * fix: double toJSON * Update templates/.github/workflows/js-test-and-release.yml * feat: create gh releases in release-check/releaser workflows (#456) * feat: create gh releases in release-check/releaser workflows * fix: fill expr in release check workflow * fix: add missing gh token in release check * fix: add missing prev version env var in release check workflow * fix: release check in release check * chore: clean up obsolete step from releaser * fix: step outputs in release workflows * fix: labels in releaser * fix: action gh release * update go version to 1.20.x (#463) * update go version to 1.20.x * fix: go 1.20 upgrade * Revert "fix: go 1.20 upgrade" This reverts commit ceb72ef. * clean up where source ref was set to next (#464) * perform self-review before final release --------- Co-authored-by: Masih H. Derkani <[email protected]> Co-authored-by: Marten Seemann <[email protected]> Co-authored-by: Laurent Senta <[email protected]>
Description
This PR upgrades go to 1.20.x. It also introduces automated migration rule for deprecated packages - see
math/randin https://tip.golang.org/doc/go1.20.My proposal for the automated migration is as follows:
@marten-seemann WDYT? If you're okay with this migration, we can proceed with the release on 2023-02-08.
Testing
Before Merge
After Merge
deploy to https://github.com/libp2p/go-libp2p-pubsub (won't work with https://github.com/libp2p/go-libp2p-pubsub/blob/973fef56e1e6fd6afc568ea3c1c2f654f7754d49/backoff.go#L46, CI should fail)