Closed paleolimbot closed 1 year ago
@thisisnic @nealrichardson
Two nightly builds are failing: test-r-linux-valgrind (#33094) and test-r-rhub-debian-gcc-devel-lto-latest (#33701). The valgrind failures won't be solved for this release; however, I've run them locally with archery to make sure they are the same as they were before the last release (and they appear to be). I haven't been able to replicate those errors outside of that docker image and we haven't had any valgrind issues reported by CRAN. I'm working to see if the LTO error is transient or cache-related.
The current CRAN check status indicates a few issues. I checked to make sure the package would compile under gcc-13 (unreleased, requires building gcc from source) and I wasn't able to get any build errors (#33635). The warning for suppressed diagnostics may be a problem; however, we can't solve it without actively attempting to circumvent a CRAN policy which would be bad (I think): #33637.
README/urlchecker fix is (#33705 / #33706)
The link-time optimization nightly failure is probably related to our CI config...I'll continue to investigate and if there's a fix that's needed for CRAN we can pick it into the packaging branch.
gcc13 no longer shows up on https://cran.r-project.org/web/checks/check_results_arrow.html so we're good there. Just have to deal with clang 16 now :/
Is there an Arrow issue for clang16 yet? I didn't get to it today but I'm sure I can get a docker image together on Monday with clang16 and R.
Is there an Arrow issue for clang16 yet? I didn't get to it today but I'm sure I can get a docker image together on Monday with clang16 and R.
I haven't made one yet, just raised it on Zulip and the ML. I think @jonkeane tried to reproduce yesterday so he may have a dockerfile started.
I made #33819 to track. LLVM provides a Dockerfile for a source build on Debian 10 so we should be able to reproduce.
Re: maintainer change, CRAN policy says "Explain any change in the maintainerβs email address and if possible send confirmation from the previous address (by a separate email to CRAN-submissions@R-project.org) or explain why it is not possible."
I will do this at the same time as the submission.
Potential list of things we need to pick into the CRAN-specific release branch:
Neal mentioned removing the badges from the readme (but that's already on the checklist π )
@paleolimbot As discussed separately, mind just clarifying what we need to do to proceed here?
The "just update boost" fix turned out to be more complicated than I expected and is a poor candidate for this point in the release cycle. The macOS install timeout thing is only an issue if when you run crossbow submit --group r you see that job fail (and re-running doesn't fix); the Boost fix is only an issue if our CRAN submission gets rejected.
That leaves the LTO fix. I think the best way to proceed would be to pick the LTO fix, remove the badges, and carry on until we have a reason to pick anything else.
@paleolimbot Would you mind running the revdepchecks? I remember last time I spent ages and didn't even get it done, due to some weird quirk in the difference between our respective setups, and we did discuss moving it to a Crossbow job at some point but haven't yet.
Builth the package locally and I got the output below, so nothing unexpected there :
ββ R CMD check results ββββββββββββββββββββββββββββββββββββββββββββββββββββ arrow 11.0.0 ββββ
Duration: 7m 20.2s
β― checking top-level files ... WARNING
A complete check needs the 'checkbashisms' script.
See section βConfigure and cleanupβ in the βWriting R Extensionsβ
manual.
β― checking compilation flags used ... WARNING
Compilation used the following non-portable flag(s):
β-Wno-noexcept-typeβ β-msse4.2β
including flag(s) suppressing warnings
β― checking installed package size ... NOTE
installed size is 84.3Mb
sub-directories of 1Mb or more:
R 4.2Mb
libs 79.5Mb
The first one you can probably solve by doing apt-get install checkbashisms
(or brew install checkbashisms
, or maybe something else if you're not on ubuntu or MacOS).
The second one is showing up because you have ARROW_R_DEV=true
...you can maybe unset it to get a more realistic check of what CRAN will see.
The third one always shows up for us...we just have a really big shared library.
Yep, re-ran after doing exactly that and the warnings disappeared.
The "just update boost" fix turned out to be more complicated than I expected
How so? I don't see problems mentioned on https://github.com/apache/arrow/pull/33890
Up to y'all (ultimately Nic, since they'll be the one receiving the CRAN emails) if you want to submit without the boost upgrade. std::unary_function
, what BDR suggested was the problem for some, only appears in one place I can find in the boost we use, and it is conditional on a check for its existence: https://github.com/boostorg/container_hash/blob/171c012d4723c5e93cc7cffe42919afdf8b27dfa/include/boost/container_hash/hash.hpp#L131
It's reasonable to submit without the upgrade, and if it still fails, respond that we ran on latest clang16 before submission and it passed so we believed the issue to be resolved. Downside is that I doubt we would get any extra time to fix, so I think it will still need to be resolved by Feb 16.
See https://github.com/apache/arrow/pull/33890#issuecomment-1408793021 ...something is missing in the bundle I created via the trim-boost.sh script. If you have a workflow for debugging what it might be I'd love to know before I have to invent one!
That fix needs completing and merging at some point anyway, and if it causes us to fail CRAN checks we'd need to submit it again with the change made, so it seems like the only real consequence of waiting for it to be done ahead of the CRAN release (given we're not 100% sure it'll cause a failure) is delaying the initial submission and adding more to @paleolimbot's to-do list in the short-term? If that's the case, I'm happy to submit to CRAN without it, if only so that we know sooner whether it matters or not. If any of my assumptions above don't hold though, let's reconsider.
On a different note, we still have the issue of the URL check failing as there is a URL in our docs which currently exists on the dev docs but not the live docs yet. Is there anything to do about this other than wait for the arrow-site update before submitting to CRAN?
Which link? Is it something that should be a relative URL? Otherwise sure, we can wait for the 11.0.0 docs to be published.
FTR the docs update PR is https://github.com/apache/arrow-site/pull/308
Thanks for linking to that, I didn't realise that that had just been done.
Broken link is one of the new vignettes after the big docs refactor.
> urlchecker::url_check()
β Error: README.md:83:101 404: Not Found
need to install nightly builds, but if you do please see the article on [installing nightly builds](https://arrow.apache.org/docs/r/articles/install_nightly.html) for more information.
Oh, I see, a relative URL would fix that.
Actually...would it? It's in the README
I think that is only 404'ing because the website is not updated for 11.0.0 yet: https://arrow.apache.org/docs/dev/r/articles/install_nightly.html
pkgdown
would handle the relative URL, but it would be a broken link in the GitHub web version, so yeah, let's merge the arrow-site PR first.
Looks like the docs PR has merged.
Great; I'm just waiting for the crossbow builds to run now + Dewey is doing revdepchecks, so after that it'll just be the Linux binary to upload + winbuilder/macbuilder checks and then off to CRAN.
π sounds good, I'll email about the maintainer change now.
The macOS install timeout thing is only an issue if when you run crossbow submit --group r you see that job fail (and re-running doesn't fix)
It did fail; re-running now :crossed_fingers:
Reverse dependencies are clear, both via archery and via my hacked-together local thing. Output from the hacked together local thing below...we have 4 more revdeps since the last version!
Thanks @paleolimbot, will plough on through the list!
Latest:
devtools::check_built()
- all clearOnce the crossbow checks are done and we're happy with the results, I'll submit the latest version to CRAN.
I ran R CMD check
with the clang-16 image and that was all clear, too β
CRAN's clang16 build had an outdated version of Boost, which the build ended up using and failing. New branch 11.0.0.2 contains fixes for that. Checks are being done here: https://github.com/apache/arrow/pull/34103
I got a failure with devtools::check_built()
but I've been messing around with my setup to try to get a working Arrow C++ build, and this may have interfered with this. Have asked @paleolimbot also to check; if it works on his machine, then I'm happy.
CMake Error at cmake_modules/ThirdpartyToolchain.cmake:2312 (add_library):
add_library cannot create imported target "xsimd" because another target
with the same name already exists.
Call Stack (most recent call first):
CMakeLists.txt:498 (include)
Follow-up tasks now completed so closing this.
Describe the bug, including details regarding any error messages, version, and platform.
Packaging checklist for CRAN release
For a high-level overview of the release process see the Apache Arrow Release Management Guide.
Before the release candidate is cut:
[R] CRAN packaging checklist for version X.X.X
and copy this checklist to the issue.urlchecker::url_check()
on the R directory at the release candidate commit. Ignore any errors with badges as they will be removed in the CRAN release branch.Wait for the release candidate to be cut:
Make pull requests into the autobrew and rtools-packages repositories used by the configure script on MacOS and Windows. These pull requests will use the release candidate as the source.
Prepare and check the .tar.gz that will be released to CRAN.
git fetch upstream && git checkout release-X.X.X-rcXX && git clean -f -d
make build
. This copies Arrow C++ into tools/cpp, prunes some unnecessary components, and runsR CMD build
to generate the source tarball. Because this will install the package, you will need to ensure that the version of Arrow C++ available to the configure script is the same as the version that is vendored into the R package (e.g., you may need to unsetARROW_HOME
).devtools::check_built("arrow_X.X.X.tar.gz")
locallyWait for the official release...
urlchecker::url_check()
on the R directoryWIP: [R] Verify CRAN release-10.0.1-rc0
. Add a comment@github-actions crossbow submit --group r
to run all R crossbow jobs against the CRAN-specific release branch.make build
)Create new autobrew and r-windows PRs such that they use the release instead of the release candidate; ensure linux binary packages are available:
Check binary Arrow C++ distributions specific to the R package:
install.packages("arrow_X.X.X.tar.gz")
on Ubuntu and ensure that the hosted binaries are useddevtools::check_built("arrow_X.X.X.tar.gz")
locally one more time (for luck)Submit!
Wait for CRAN...
ci/scripts/PKGBUILD
,dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb
,r/DESCRIPTION
, andr/NEWS.md
Component(s)
R