-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
GH-39601: [R] Don't download cmake when TEST_OFFLINE_BUILD=true #39602
Conversation
|
@github-actions crossbow submit r-binary-packages |
Revision: d96fca2 Submitted crossbow builds: ursacomputing/crossbow @ actions-c2547fba9e
|
# Show which one we found | ||
# Full source builds will always show "cmake" in the logs | ||
lg("cmake: %s", cmake, .indent = "****") | ||
lg("cmake %s", CMAKE_VERSION, .indent = "****") |
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.
Thank you for adding version here – in my other testing on macbuilder I wanted this / added it in hackily so glad to see it for real here.
@@ -281,11 +281,10 @@ withr::with_makevars(list(CPPFLAGS = "", LDFLAGS = ""), remotes::install_github( | |||
environment variables that determine how the build works and what features | |||
get built. | |||
* `TEST_OFFLINE_BUILD`: When set to `true`, the build script will not download | |||
prebuilt the C++ library binary. | |||
prebuilt the C++ library binary or, if needed, `cmake`. |
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.
prebuilt the C++ library binary or, if needed, `cmake`. | |
prebuilt the C++ library binary or, if needed, `cmake` of an appropriate version. |
We could also say "cmake
>= 3.16" here instead, but then have to make sure we bump both. But it might be nice to call out the version requirement here too.
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.
I don't feel strongly; don't think it matters much one way or another. Most likely if you're reading this file, you've already tried to install and hit the error message that tells you what version you need 🤷
IMO your exact suggestion isn't worth adding, I'd think that appropriate version was implied. If you wanted to list the version here, I'd leave a comment in nixlibs.R next to cmake_minimum_version
saying to update the vignette when you bump it. (Of course, that only gets bumped when we bump https://github.com/apache/arrow/blob/main/cpp/CMakeLists.txt#L18, and really only if anyone remembers that we have it listed here too.)
Example output added:
https://mac.r-project.org/macbuilder/results/1705263596-b370573ae984333b/ |
@github-actions crossbow submit -g r |
Revision: d96fca2 Submitted crossbow builds: ursacomputing/crossbow @ actions-6702e93fdc |
Here's an example of the message when cmake is downloaded: https://github.com/ursacomputing/crossbow/actions/runs/7530786939/job/20497939288#step:7:24 The offline-maximal build now fails because the image must not have cmake in it: https://dev.azure.com/ursacomputing/crossbow/_build/results?buildId=59743&view=logs&j=0da5d1d9-276d-5173-c4c4-9d4d4ed14fdb&t=6c939d89-0d1a-51f2-8b30-091a7a82e98c&l=348 So we'll need to install it before the R package test. I can look into that; looks like there is Also, I was looking through the jobs for evidence of where cmake is found but too old, haven't found one yet but I have seen some unexpected things. Of note, it looks like the jobs that are based on |
Ah good catch, we can set it in the docker-compose of that job, that way we don't have to edit all the jobs separately. |
It looks like we have some growing confusion in our env vars that govern the build script. The docker-compose job has these set:
Side note: I agree with the comment in https://github.com/apache/arrow/pull/38534/files#r1387468097 that This feels like creeping scope so perhaps I should make another issue, but IMO:
(edit: I opened #39620) |
See #39625 for the minor fixes |
@assignUser since you're addressing the offline-maximal build in #39625, is this ready to merge? |
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.
Thanks! We could rebase after #39625 is merged but I think we can merge this as is.
After merging your PR, Conbench analyzed the 6 benchmarking runs that have been run so far on merge-commit 0d128c6. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 2 possible false positives for unstable benchmarks that are known to sometimes produce them. |
See #39601 ### Are these changes tested? Existing CI should pass. This should also pass on macbuilder without downloading cmake, and if hardcoding `download_ok <- FALSE`, it should exit cleanly and informatively. ### Are there any user-facing changes? Define "user". * Closes: #39601 Authored-by: Neal Richardson <[email protected]> Signed-off-by: Jacob Wujciak-Jens <[email protected]>
See #39601 ### Are these changes tested? Existing CI should pass. This should also pass on macbuilder without downloading cmake, and if hardcoding `download_ok <- FALSE`, it should exit cleanly and informatively. ### Are there any user-facing changes? Define "user". * Closes: #39601 Authored-by: Neal Richardson <[email protected]> Signed-off-by: Jacob Wujciak-Jens <[email protected]>
…apache#39602) See apache#39601 ### Are these changes tested? Existing CI should pass. This should also pass on macbuilder without downloading cmake, and if hardcoding `download_ok <- FALSE`, it should exit cleanly and informatively. ### Are there any user-facing changes? Define "user". * Closes: apache#39601 Authored-by: Neal Richardson <[email protected]> Signed-off-by: Jacob Wujciak-Jens <[email protected]>
…apache#39602) See apache#39601 ### Are these changes tested? Existing CI should pass. This should also pass on macbuilder without downloading cmake, and if hardcoding `download_ok <- FALSE`, it should exit cleanly and informatively. ### Are there any user-facing changes? Define "user". * Closes: apache#39601 Authored-by: Neal Richardson <[email protected]> Signed-off-by: Jacob Wujciak-Jens <[email protected]>
…apache#39602) See apache#39601 ### Are these changes tested? Existing CI should pass. This should also pass on macbuilder without downloading cmake, and if hardcoding `download_ok <- FALSE`, it should exit cleanly and informatively. ### Are there any user-facing changes? Define "user". * Closes: apache#39601 Authored-by: Neal Richardson <[email protected]> Signed-off-by: Jacob Wujciak-Jens <[email protected]>
…apache#39602) See apache#39601 ### Are these changes tested? Existing CI should pass. This should also pass on macbuilder without downloading cmake, and if hardcoding `download_ok <- FALSE`, it should exit cleanly and informatively. ### Are there any user-facing changes? Define "user". * Closes: apache#39601 Authored-by: Neal Richardson <[email protected]> Signed-off-by: Jacob Wujciak-Jens <[email protected]>
…apache#39602) See apache#39601 ### Are these changes tested? Existing CI should pass. This should also pass on macbuilder without downloading cmake, and if hardcoding `download_ok <- FALSE`, it should exit cleanly and informatively. ### Are there any user-facing changes? Define "user". * Closes: apache#39601 Authored-by: Neal Richardson <[email protected]> Signed-off-by: Jacob Wujciak-Jens <[email protected]>
See #39601
Are these changes tested?
Existing CI should pass. This should also pass on macbuilder without downloading cmake, and if hardcoding
download_ok <- FALSE
, it should exit cleanly and informatively.Are there any user-facing changes?
Define "user".