-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
Improve ci - install binaries instead of compiling #12643
Conversation
cargo install
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.
Good change, I'm going to try to rally on Discord to get this merged!
Also would you mind rebasing onto main? A few of the required checks have been modified after this PR was created, which is why it says some checks haven't been completed yet. |
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.
please put the version of the action everywhere
Agreed, it would be good to target specific versions of the binaries so we don't have breaking changes. - uses: taiki-e/install-action@v2
with:
tool: [email protected] I don't think we need to specify the patch version, but certainly the minor and major versions. |
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.
Do you have some measurements on how much this improves the CI times?
It seems like this adds two additional security risks:
- The
install-action
action itself, which runs multiple shell scripts - The release binaries which are being downloaded (and might not match the source code)
Of course, there are always some risks involved when adding new dependencies and we can mitigate them by fixing the version of both the action (note that the commit hashes are safer than the version tags) and the installed tools.
Just wondering if it's worth it in this case
Objective
Reduce time compiling crates in CI.
Solution
install-actions uses github releases to find the binaries.
Uses cargo-binstall as a fallback