Skip to content

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

Merged
jonkeane merged 5 commits into
apache:mainfrom
vanshaj2023:GH-49380-fix-r-devdocs-ci-abi-mismatch
Mar 23, 2026
Merged

jonkeane merged 5 commits into
apache:mainfrom
vanshaj2023:GH-49380-fix-r-devdocs-ci-abi-mismatch

Conversation

@vanshaj2023

@vanshaj2023 vanshaj2023 commented Feb 24, 2026 •

Copy link
Copy Markdown
Contributor

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.

@jonkeane jonkeane left a comment

Copy link
Copy Markdown
Member

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.

Comment thread r/vignettes/developers/setup.Rmd Resolved
@vanshaj2023

Copy link
Copy Markdown
Contributor 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
Copy Markdown
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
Copy Markdown
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...

@vanshaj2023
vanshaj2023 requested a review from jonkeane March 13, 2026 21:16
@vanshaj2023

Copy link
Copy Markdown
Contributor Author

Hi @jonkeane @thisisnic
Please review these changes.

@jonkeane

Copy link
Copy Markdown
Member

@github-actions crossbow submit test-r-devdocs

@github-actions

Copy link
Copy Markdown

Revision: fc0e6f9

Submitted crossbow builds: ursacomputing/crossbow @ actions-7abb51c0ea

Task Status
test-r-devdocs GitHub Actions

Comment thread r/vignettes/developers/setup.Rmd Resolved
Comment thread r/vignettes/developers/setup.Rmd Resolved
Comment thread r/vignettes/developers/setup.Rmd Resolved
Comment thread r/vignettes/developers/setup.Rmd Resolved
@jonkeane

Copy link
Copy Markdown
Member

I've made that block run on both. I'm not totally sure this will work (I'm surprised it used to work but stopped), but it's worth a try.

Thanks for your persistence on this.

@jonkeane
jonkeane merged commit d28aea9 into apache:main Mar 23, 2026
2 checks passed
@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 2 benchmarking runs that have been run so far on merge-commit d28aea9.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details.

thisisnic pushed a commit to thisisnic/arrow that referenced this pull request Apr 6, 2026
…x r-de… (apache#49381)

### 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.

* GitHub Issue: apache#49380

---------

Co-authored-by: vanshaj2023 <vanshaj2023@users.noreply.github.com>
Co-authored-by: Jonathan Keane <jkeane@gmail.com>
Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
…x r-de… (apache#49381)

### 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.

* GitHub Issue: apache#49380

---------

Co-authored-by: vanshaj2023 <vanshaj2023@users.noreply.github.com>
Co-authored-by: Jonathan Keane <jkeane@gmail.com>
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