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

Conserve CI minutes via cache, skip macOS+Windows MSRV builds #827

Merged

Conversation

kennethloeffler
Copy link
Member

Windows and macOS runners consume GitHub Actions minutes at 2x and 10x the rate of Linux runners, respectively. This is a bit concerning now that there are two Windows jobs and two macOS jobs, introduced in #825.

This PR aims to reduce the cost by:

  • Adding rust-cache to reduce the amount of time spent. I'm aware there were some concerns raised about CI caches in general in added caching to ci builds to reduce build times #496 - are they still a blocker?
  • Removing the unnecessary Windows and macOS MSRV build jobs. If an MSRV build fails on one platform due to usage of new language features, then it will fail on all of them.

@Kampfkarren may have to change this repository's required status checks before this PR can be merged

@Dekkonot Dekkonot added the skip changelog PRs that may skip the changelog enforcement check label Jan 2, 2024
@Dekkonot Dekkonot enabled auto-merge (squash) January 2, 2024 16:20
@Dekkonot
Copy link
Member

Dekkonot commented Jan 2, 2024

I think you're likely right about Kampf needing to change the required status checks, but this looks good to me.

That said, in the last commit to the master branch the CI took 107 minutes when you account for the multipliers, which is 5.3% of our monthly budget. It's definitely a good idea to cache these but this PR taking a day or two to get merged shouldn't be a disaster.

@Dekkonot
Copy link
Member

Dekkonot commented Jan 2, 2024

Actually, upon further inspection I'm a big concerned about the cache size here. rust-cache caches dependencies, but on my system the dependency build files are 8GB. Given the max size of a cache is 10GB, I'm not sure if this will even be particularly effective.

It might be worth just eating the multiplier on windows and caching on MacOS? Unsure.

@Kampfkarren Kampfkarren disabled auto-merge January 2, 2024 23:46
@Kampfkarren Kampfkarren merged commit 6adc5eb into rojo-rbx:master Jan 2, 2024
6 of 7 checks passed
@OverHash
Copy link

OverHash commented Jan 2, 2024

Actually, upon further inspection I'm a big concerned about the cache size here. rust-cache caches dependencies, but on my system the dependency build files are 8GB. Given the max size of a cache is 10GB, I'm not sure if this will even be particularly effective.

The ubuntu test logs indicate that the cache is only ~510mb, so we should be good across all the checks.
https://github.com/rojo-rbx/rojo/actions/runs/7368716794/job/20053268423?pr=827

 Cache Size: ~510 MB (534911718 B)
Cache saved successfully

@kennethloeffler kennethloeffler deleted the conserve-actions-minutes branch January 3, 2024 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
skip changelog PRs that may skip the changelog enforcement check
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants