Uh oh!
There was an error while loading. Please reload this page.
ARROW-12204: [Rust][CI] Reduce size of Rust build artifacts in integration test - #9889
ARROW-12204: [Rust][CI] Reduce size of Rust build artifacts in integration test#9889alamb wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
Doing a full rust build as part of the integration test appears to be unecessary
There was a problem hiding this comment.
this is here to force the rust + integration tests to run
pitrou
commented
Apr 5, 2021
By the way, you can run integration tests locally using |
pitrou
commented
Apr 5, 2021
Se here for installing Archery. |
40e45b1 to
6317315Compare
jorgecarleitao
left a comment
There was a problem hiding this comment.
LGTM. Thanks a lot, @alamb ! Left a minor comment.
| strategy: | ||
| matrix: | ||
| arch: [amd64] | ||
| rust: [nightly-2020-11-24] |
There was a problem hiding this comment.
Should we change this to stable(or have both), since this is the target version?
There was a problem hiding this comment.
yes, that is a good idea. I will make the change
…tests # Rationale 1. As @jorgecarleitao noted on #9889 (comment), we should be running the check if arrow compiles with stable rust as that is what we target for the arrow crate 2. I noticed that there were several redundant (and inconsistent) settings of `RUSTFLAGS` 3. The titles of many of the tests are confusing (to me) as they have a lot of detailed architecture / rust version information before the description of what they are testing  # Changes 1. Use rust stable for the check that ensures the crate builds without default features 2. Remove redundant `RUSTFLAGS` 3. Change titles of the jobs to consistently start with a description of what they do # Note This could be three individual PRs, but I wanted to avoid the overhead of three separate JIRA tickets and juggling several concurrent potentially conflicting PRs. I will break it into three individual ones however if reviewers want. Closes#9904 from alamb/alamb/cleanup_rust_ci Authored-by: Andrew Lamb <andrew@nerdnetworks.org> Signed-off-by: Andrew Lamb <andrew@nerdnetworks.org>
…tests # Rationale 1. As @jorgecarleitao noted on apache/arrow#9889 (comment), we should be running the check if arrow compiles with stable rust as that is what we target for the arrow crate 2. I noticed that there were several redundant (and inconsistent) settings of `RUSTFLAGS` 3. The titles of many of the tests are confusing (to me) as they have a lot of detailed architecture / rust version information before the description of what they are testing  # Changes 1. Use rust stable for the check that ensures the crate builds without default features 2. Remove redundant `RUSTFLAGS` 3. Change titles of the jobs to consistently start with a description of what they do # Note This could be three individual PRs, but I wanted to avoid the overhead of three separate JIRA tickets and juggling several concurrent potentially conflicting PRs. I will break it into three individual ones however if reviewers want. Closes#9904 from alamb/alamb/cleanup_rust_ci Authored-by: Andrew Lamb <andrew@nerdnetworks.org> Signed-off-by: Andrew Lamb <andrew@nerdnetworks.org>
Rationale
The integration test has a fixed size builder docker image and has builds from several Arrow implementations.
The Rust build artifacts (compiled binaries) in the integration tests still consume ~ 1GB of space even after #9879 (see @pitrou 's comment on #9884 (comment)).
Changes
arrow-integration-testingcrate (which has the binaries needed for integration testing) rather than all of themcargo checkto ensure we can build arrow without default features to a github action and out of the integration testThis should both speed up the rust build as part of integration testing as well as reduce the amount of disk space required in the builder (both peak and after the rust build).
Results
According to this log after this PR's changes, the rust artifacts are much smaller.
Note we could still save space by removing the rust toolchain and
.cargofiles but I think that can be an optimization for another time: