Skip to content

GH-49380: [R] Remove hidden CI test chunks from setup.Rmd to fix r-de…#49381

Open
vanshaj2023 wants to merge 1 commit intoapache:mainfrom
vanshaj2023:GH-49380-fix-r-devdocs-ci-abi-mismatch
Open

GH-49380: [R] Remove hidden CI test chunks from setup.Rmd to fix r-de…#49381
vanshaj2023 wants to merge 1 commit intoapache:mainfrom
vanshaj2023:GH-49380-fix-r-devdocs-ci-abi-mismatch

Conversation

@vanshaj2023
Copy link

@vanshaj2023 vanshaj2023 commented Feb 24, 2026

Rationale for this change

The r-devdocs crossbow CI job fails during the gap between the C++ release (published to apt) and the R package release (CRAN). Two hidden bash chunks in setup.Rmd were silently installing the released libarrow-dev from apt during CI, overwriting the version built from the git checkout. Since the R package (arrow.so) was compiled against the newer git-built libarrow, loading it against the older apt version caused an undefined symbol ABI mismatch error.

What changes are included in this PR?

Removes the hidden CI test chunks from r/vignettes/developers/setup.Rmd:

  • Removed hidden macOS chunk that ran brew install apache-arrow
  • Removed hidden Ubuntu chunk that ran apt install libarrow-dev (root cause of the ABI mismatch)
  • Converted the MAKEFLAGS="LDFLAGS=" example from an executable knitr chunk to a plain bash code block preserves the documentation example without executing it in CI

Are these changes tested?

No, the fix removes the broken test logic from the vignette. As noted by @thisisnic, this type of testing should live in proper CI infrastructure, not embedded as hidden code in documentation.

Are there any user-facing changes?

No. The rendered documentation is unchanged the MAKEFLAGS="LDFLAGS=" example remains visible in the "Multiple versions of libarrow" troubleshooting section.

Copy link
Member

@jonkeane jonkeane left a comment

Choose a reason for hiding this comment

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

Thanks for the PR, but these changes aren't what we want to do here (they actually remove one of the parts of the devdocs test we want to test. And I am nearly certain they wouldn't do what we expect them to do in the release-branch circumstance anyway.

```

```{bash, save=run & !sys_install & macos}
```bash
Copy link
Member

Choose a reason for hiding this comment

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

We don't want to remove these chunks here (or the , save=run & !sys_install & macos) — if you look at the text above these two blocks are intending to set up the circumstance where we "need to make sure that you don't let R link to your system
library when building arrow".

@vanshaj2023
Copy link
Author

Thanks for the review and clarification!
Understood that these chunks are intentional for the devdocs test. I will revert the removals and look for a fix that preserves this setup.
If you have a preferred direction for addressing the release-branch CI issue, please let me know.

@jonkeane
Copy link
Member

If you have a preferred direction for addressing the release-branch CI issue, please let me know.

I honestly don't — the last time I investigated the things that the devdocs did avoided linking to the system arrow, but if that has stopped we would need to figure out what a better way is to ensure that system error is not linked to...

@vanshaj2023 vanshaj2023 force-pushed the GH-49380-fix-r-devdocs-ci-abi-mismatch branch from bac2f71 to fc0e6f9 Compare February 24, 2026 15:00
@jonkeane
Copy link
Member

Also, FWIW, you might have better luck if you branch from a release branch temporarily so you can run crossbow tests on this branch...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants