-
Notifications
You must be signed in to change notification settings - Fork 97
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
[WIP] Add Github Actions CI #225
Conversation
Clippy & RustfmtCI time is about 4-5 mins. Looks OK to me, but I think it can be reduced further if need be. |
Oh, doesn't seem like this Pr triggered any builds. You can see some results in my fork: https://github.com/CreepySkeleton/uom/actions/runs/389985942 |
Example PR in my repo: CreepySkeleton#1 |
Excellent! Thanks for the PR. I'll start reviewing later today or tomorrow. |
I haven't forgotten about this, just ended up having a really busy weekend. Is there anything still WIP or do you believe this is just about ready to go? |
Thanks again for submitting this PR! I made some changes (see details in my commit) and merged. Really excited to have the quicker CI times again. |
Ugh, sorry for my unresponsiveness, had a busy week too. I am firm in my belief that it's a world-wide conspiracy run by nefarious coffee manufacturers: the busier the programmers are, the more coffee they consume. The doctors likely have their cut of the deal as well. I think I've got the caching wrong: GH caching works differently from Travis'. The current script will keep pulling the old build artifacts until the next rustc version is released, and that may make the CI time to gradually regress. Hopefully, I'll look into this sometime next week, unless I'll be busy running my own anti-conspiracy conspiracy, overrunning the existing cartels and mandating that every programmer has a limitless supply of free coffee. Anime fans will pay for it, they'll pay for anything if you promise them that every programming company is obliged to host cosplay events from there on. |
Glad you caught that! I went to review what actions-rs does and it looks like they don't have a cache action yet. https://github.com/Swatinem/rust-cache is asking about the possibility of inclusion |
One is triggered by "push", the other by "PR" part. I'll see what we can do next week. |
Closes #223
Caching
Worst case CI time of cache-hit builds is about ~10 mins. Worst case CI time of cache-miss builds is about 17-20 mins. If I remove cache entirely, CI time is about ~15-17 minutes. I will continue experimenting with it tomorrow.
(Do keep in mind that GH actions has no "drop all cache" button.)
Tarpaulin & codecov reports
I've set it to trigger only on pushes but not on PRs. Works fine, CI time is about 7-9 minutes.
(You'll need to set up the
CODECOV_TOKEN
secret)Windows & MacOs builds
Works remarkably well.
Features
I had been trying to get
--all-features
build to work, but eventually gave up and copy-pasted cargo commands from travis. I will continue experimenting on it tomorrow.Beta & Nightly & MSRV
They are currently run only with default features check (copy-pasted from your travis setup). I will be investigating it further, but I suspect that some of your tests are kinda sorta broken (they don't even compile on beta or nightly or 1.37).