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

CI broken: golint 1.46.2 #15892

Closed
edsantiago opened this issue Sep 21, 2022 · 1 comment · Fixed by #15896
Closed

CI broken: golint 1.46.2 #15892

edsantiago opened this issue Sep 21, 2022 · 1 comment · Fixed by #15896
Labels
locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.

Comments

@edsantiago
Copy link
Member

edsantiago commented Sep 21, 2022

About 1/3 of CI jobs are failing with:

VERSION=1.46.2 ./hack/install_golangci.sh
Installing golangci-lint v1.46.2 into ./bin/golangci-lint
golangci/golangci-lint info checking GitHub for tag 'v1.46.2'
golangci/golangci-lint info found version: 1.46.2 for v1.46.2/linux/amd64
make: *** [Makefile:861: .install.golangci-lint] Error 28    <---- EDIT: curl 28 = timeout

Even in CI jobs that have nothing to do with lint, such as sys and int and upgrade tests.

  1. Let's get this fixed
  2. Let's avoid doing this step in places where it's not needed

EDIT: curl(1) sez:

EXIT CODES
...
   28     Operation timeout. The specified time-out period was reached according to the conditions.
@edsantiago
Copy link
Member Author

Culprit:

$ grep -nh install.tools contrib/cirrus/setup_environment.sh
235:        make install.tools
245:        make install.tools
249:        make install.tools
261:        make install.tools
264:        make install.tools
270:        make install.tools
279:        make install.tools
288:        make install.tools
312:        make install.tools
377:        make install.tools

edsantiago added a commit to edsantiago/libpod that referenced this issue Sep 21, 2022
...and add a curl retry, and remove '-f' (fail) from curl
(it produces unhelpful logs).

Reason: CI flakes due to timeout fetching golangci-lint, which we
don't need most of the time.

A reminder that network fetches are a prime cause of flakes.

Fixes: containers#15892

Signed-off-by: Ed Santiago <santiago@redhat.com>
edsantiago added a commit to edsantiago/libpod that referenced this issue Sep 22, 2022
...and add a curl retry, and remove '-f' (fail) from curl
(it produces unhelpful logs).

Reason: CI flakes due to timeout fetching golangci-lint, which we
don't need most of the time.

A reminder that network fetches are a prime cause of flakes.

Fixes: containers#15892

Signed-off-by: Ed Santiago <santiago@redhat.com>
edsantiago added a commit to edsantiago/libpod that referenced this issue Sep 22, 2022
...and add a curl retry, and remove '-f' (fail) from curl
(it produces unhelpful logs).

Reason: CI flakes due to timeout fetching golangci-lint, which we
don't need most of the time.

A reminder that network fetches are a prime cause of flakes.

Fixes: containers#15892

Signed-off-by: Ed Santiago <santiago@redhat.com>
edsantiago added a commit to edsantiago/libpod that referenced this issue Sep 22, 2022
Reintroduce .install.foo targets into Makefile, and invoke
only the bare-minimum ones needed for each individual CI
step in setup_environment.sh.

Also add a retry to the golangci-lint curl, in hopes of
dealing with network flakes. And remove the -f (fail)
because it produces unhelpful logs.

Reason: saw about 25% CI flakes yesterday due to the golangci-lint
fetch, something about a timeout, and this was especially frustrating
because none of the steps actually needed lint. Quick reminder:
avoid network fetches unless absolutely necessary.

Fixes: containers#15892

Signed-off-by: Ed Santiago <santiago@redhat.com>
edsantiago added a commit to edsantiago/libpod that referenced this issue Sep 22, 2022
Reintroduce .install.foo targets into Makefile, and invoke
only the bare-minimum ones needed for each individual CI
step in setup_environment.sh.

Also add a retry to the golangci-lint curl, in hopes of
dealing with network flakes. And remove the -f (fail)
because it produces unhelpful logs.

Reason: saw about 25% CI flakes yesterday due to the golangci-lint
fetch, something about a timeout, and this was especially frustrating
because none of the steps actually needed lint. Quick reminder:
avoid network fetches unless absolutely necessary.

Fixes: containers#15892

Signed-off-by: Ed Santiago <santiago@redhat.com>
edsantiago added a commit to edsantiago/libpod that referenced this issue Sep 27, 2022
Reintroduce .install.foo targets into Makefile, and invoke
only the bare-minimum ones needed for each individual CI
step in setup_environment.sh.

Also add a retry to the golangci-lint curl, in hopes of
dealing with network flakes. And remove the -f (fail)
because it produces unhelpful logs.

Reason: saw about 25% CI flakes yesterday due to the golangci-lint
fetch, something about a timeout, and this was especially frustrating
because none of the steps actually needed lint. Quick reminder:
avoid network fetches unless absolutely necessary.

Fixes: containers#15892

Signed-off-by: Ed Santiago <santiago@redhat.com>
@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Sep 14, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 14, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant