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

Split rust CI into more jobs #2786

Merged
merged 1 commit into from
Nov 5, 2024
Merged

Conversation

ndr-ds
Copy link
Contributor

@ndr-ds ndr-ds commented Nov 2, 2024

Motivation

CI takes a long time

Proposal

Split into more jobs, which will make us do roughly the same amount of work, but more parallelized. So hopefully this reduces CI time without increasing github costs much.

Test Plan

CI
With this and the PR before this one (#2785), we went from having the test job sometimes take up to an hour, to now, running many jobs in parallel, the test that takes the longest is check-all-features, which takes around 30 minutes.

Release Plan

  • Nothing to do / These changes follow the usual release cycle.

Copy link
Contributor Author

ndr-ds commented Nov 2, 2024

@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch from ea251d7 to 8eb09ba Compare November 2, 2024 00:50
@ndr-ds ndr-ds force-pushed the 11-01-lint_has_been_silently_timing_out branch from 3ffafd9 to 1f6268a Compare November 2, 2024 00:59
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch 2 times, most recently from ee6d349 to 59cb85b Compare November 2, 2024 01:20
@ndr-ds ndr-ds force-pushed the 11-01-lint_has_been_silently_timing_out branch from 1f6268a to 63f038c Compare November 2, 2024 02:06
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch from 59cb85b to bf5ab5c Compare November 2, 2024 02:12
@ndr-ds ndr-ds force-pushed the 11-01-lint_has_been_silently_timing_out branch from 63f038c to f0f704d Compare November 2, 2024 02:14
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch from bf5ab5c to 631364e Compare November 2, 2024 02:14
@ndr-ds ndr-ds force-pushed the 11-01-lint_has_been_silently_timing_out branch from f0f704d to 0f57c58 Compare November 2, 2024 02:17
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch from 631364e to 83c1944 Compare November 2, 2024 02:17
@ndr-ds ndr-ds force-pushed the 11-01-lint_has_been_silently_timing_out branch from 0f57c58 to 4824098 Compare November 2, 2024 02:22
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch from 83c1944 to facd157 Compare November 2, 2024 02:22
@ndr-ds ndr-ds force-pushed the 11-01-lint_has_been_silently_timing_out branch from 4824098 to c68473d Compare November 2, 2024 02:35
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch from facd157 to 99b8f1f Compare November 2, 2024 02:35
@ndr-ds ndr-ds force-pushed the 11-01-lint_has_been_silently_timing_out branch from c68473d to 3e17207 Compare November 2, 2024 02:48
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch from 99b8f1f to e1af55b Compare November 2, 2024 02:48
@ndr-ds ndr-ds force-pushed the 11-01-lint_has_been_silently_timing_out branch from 3e17207 to b3f5cf8 Compare November 4, 2024 16:02
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch 2 times, most recently from d30332c to 8ed386a Compare November 4, 2024 16:22
@ndr-ds ndr-ds force-pushed the 11-01-lint_has_been_silently_timing_out branch from b3f5cf8 to 2010c9e Compare November 4, 2024 16:23
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch from 8ed386a to 0a8ccc4 Compare November 4, 2024 16:23
@ndr-ds ndr-ds force-pushed the 11-01-lint_has_been_silently_timing_out branch from 2010c9e to f9fa551 Compare November 4, 2024 17:47
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch 2 times, most recently from 6ff1a0f to 47e4443 Compare November 4, 2024 18:53
@ndr-ds ndr-ds marked this pull request as ready for review November 4, 2024 20:32
@ndr-ds ndr-ds force-pushed the 11-01-lint_has_been_silently_timing_out branch from f9fa551 to d4706f4 Compare November 4, 2024 20:37
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch 2 times, most recently from f862c21 to dfa4908 Compare November 4, 2024 23:41
Comment on lines 85 to 88
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This runs in parallel to the remote-net-tests and also has the "Clear up some space" step. Are you sure these parallel jobs, trying to access the same directories, won't conflict with each other? Do they run on separate machines?

Copy link
Contributor Author

@ndr-ds ndr-ds Nov 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They all run in their own isolated VMs: https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#overview-of-github-hosted-runners
I also think these steps might be unnecessary now 🤔 Let me try removing them

Copy link
Contributor

@deuszx deuszx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great.

Now, we just need to move a couple of "lint jobs" to `github merge queue" and we cut down the CI running time by another 5 minutes and save on CI costs.

@ndr-ds ndr-ds force-pushed the 11-01-lint_has_been_silently_timing_out branch from 83d1692 to 792bc4c Compare November 5, 2024 12:30
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch from 5450a3b to f288c9f Compare November 5, 2024 12:30
@ndr-ds ndr-ds force-pushed the 11-01-lint_has_been_silently_timing_out branch from 792bc4c to a5479f7 Compare November 5, 2024 14:26
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch from f288c9f to f1966ea Compare November 5, 2024 14:26
Copy link
Contributor Author

ndr-ds commented Nov 5, 2024

Merge activity

  • Nov 5, 10:19 AM EST: A user started a stack merge that includes this pull request via Graphite.
  • Nov 5, 10:21 AM EST: Graphite rebased this pull request as part of a merge.
  • Nov 5, 10:22 AM EST: A user merged this pull request with Graphite.

@ndr-ds ndr-ds changed the base branch from 11-01-lint_has_been_silently_timing_out to graphite-base/2786 November 5, 2024 15:19
@ndr-ds ndr-ds changed the base branch from graphite-base/2786 to main November 5, 2024 15:20
@ndr-ds ndr-ds force-pushed the 11-01-split_rust_ci_into_more_jobs branch from f1966ea to b34213b Compare November 5, 2024 15:20
@ndr-ds ndr-ds merged commit 4aa66d4 into main Nov 5, 2024
22 checks passed
@ndr-ds ndr-ds deleted the 11-01-split_rust_ci_into_more_jobs branch November 5, 2024 15:22
ma2bd pushed a commit that referenced this pull request Nov 11, 2024
## Motivation

CI takes a long time

## Proposal

Split into more jobs, which will make us do roughly the same amount of work, but more parallelized. So hopefully this reduces CI time without increasing github costs much.

## Test Plan

CI
With this and the PR before this one (#2785), we went from having the `test` job sometimes take up to an hour, to now, running many jobs in parallel, the test that takes the longest is `check-all-features`, which takes around 30 minutes.

## Release Plan

- Nothing to do / These changes follow the usual release cycle.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants