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

Set up testing on go1.18beta2 #5946

Closed
aarongable opened this issue Feb 16, 2022 · 3 comments
Closed

Set up testing on go1.18beta2 #5946

aarongable opened this issue Feb 16, 2022 · 3 comments
Assignees

Comments

@aarongable
Copy link
Contributor

Just to see if anything is broken, and fix it if it is. We'd like to update to go1.18 pretty quickly after it has a stable release to get the new net/netip package and generics.

@aarongable aarongable added this to the Sprint 2022-02-15 milestone Feb 16, 2022
@aarongable aarongable self-assigned this Feb 16, 2022
@aarongable aarongable assigned jsha and unassigned aarongable Feb 22, 2022
@aarongable aarongable changed the title Set up testing on go1.18beta2 Set up testing on go1.18rc1 Feb 22, 2022
@aarongable
Copy link
Contributor Author

Summary of current status, for handoff:

  • Turned on building+testing go1.18rc1 docker containers on a local branch
  • Resulted in a bunch of small fixes (Simplify gosec linter configuration #5948, Update go.mod go directive to 1.17 #5950, Remove go1.16 backwards compatibility hacks #5952) which have now all landed
  • Now, the unit and integration tests compile and pass, but the lints do not. In particular, the typecheck lint believes that modules like eggsampler/acme/v3 are imported by never used (presumably because they're used under the name acme, not v3); it believes that acme.Foo is an undeclared name (presumably because it thinks the imported package was given the name v3); and it believes that structs which embed whole types (like type myMu struct { sync.Mutex; name string }) don't inherit any of the fields or methods of their embedded type.

@jsha
Copy link
Contributor

jsha commented Feb 27, 2022

go1.18betaN is not yet supported by golangci-lint: golangci/golangci-lint#2374 (comment)

I propose we split linting into its own container running go1.17.

jsha added a commit that referenced this issue Feb 28, 2022
Adapted from https://github.com/golangci/golangci-lint-action#how-to-use.
Uses the same version we've been using in boulder-tools.

Part of #5946

Note: we will eventually want to go back to doing this in boulder-tools,
so it's easy to run the lints locally. But this is useful so we can
unblock testing on go 1.18beta2.
@aarongable aarongable changed the title Set up testing on go1.18rc1 Set up testing on go1.18beta2 Mar 8, 2022
@jsha
Copy link
Contributor

jsha commented Mar 15, 2022

Done.

@jsha jsha closed this as completed Mar 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants