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: only make install.tools when needed #15896

Merged
merged 1 commit into from
Sep 27, 2022

Conversation

edsantiago
Copy link
Member

@edsantiago edsantiago commented Sep 21, 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: #15892

Signed-off-by: Ed Santiago santiago@redhat.com

None

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 21, 2022

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: edsantiago

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 21, 2022
@edsantiago edsantiago force-pushed the dont_install_tools branch 3 times, most recently from 80714bf to 2cae850 Compare September 22, 2022 14:07
@edsantiago
Copy link
Member Author

@cevich any idea what's going on with CI today? Seen in multiple in-flight PRs:

fatal: Not a valid commit name 2cae850cb869b0a8790400c5c830dd67e0a410ea

@cevich
Copy link
Member

cevich commented Sep 22, 2022

@cevich any idea what's going on with CI today? Seen in multiple in-flight PRs:

I'm pretty sure it's GitHub's fault, it's affecting everybody. Re-running doesn't seem to work (for who-knows-why), Waiting 5-10m and force-pushing a small change seems to un-stuck it most of the time. But if everybody does it, it may make the problem worse but IDK for sure.

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>
@cevich
Copy link
Member

cevich commented Sep 27, 2022

Reintroduce .install.foo targets into Makefile, and invoke

FWIW, we perform this install at VM image build time, so maybe it's unnecessary at runtime? IIRC, the complaint was that makes it harder for developers to update, since it (formerly) required a new image build + Makefile update (here).

IMHO, installing stuff (in general) with make is asking for trouble, it's not the right tool. This is somewhat evidenced by all the .PHONY make targets that are used. That said, if these targets were to depend on and poke a file like $GOPATH/bin/.installed.foo.<version> maybe some redundant installs at runtime could be avoided (unless the version is updated)? Just a thought.

@cevich
Copy link
Member

cevich commented Sep 27, 2022

LGTM

@edsantiago
Copy link
Member Author

IMHO, installing stuff (in general) with make is asking for trouble, it's not the right tool.

Agreed, and I also agree with finding a way to install these tools in the VMs, not at runtime. But that's a big can of worms, and my purpose here is to do something fast easy simple trivial to get rid of nasty flakes.

@cevich
Copy link
Member

cevich commented Sep 27, 2022

do something fast easy simple trivial to get rid of nasty flakes.

Yep, I gotcha, I wasn't calling for that here, just mentioning it since it keeps popping up for me. Seems like something that should go into a Cabal meeting and/or Jira card at the least.

@cevich cevich merged commit cbc7185 into containers:main Sep 27, 2022
@cevich
Copy link
Member

cevich commented Sep 27, 2022

Ugh...woops...brain-fart: There's a merge bot.

@edsantiago edsantiago deleted the dont_install_tools branch September 27, 2022 17:51
@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 20, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 20, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. release-note-none
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CI broken: golint 1.46.2
2 participants