Skip to content

ci: install R system requirements without the Chromium PPA - #445

Closed
jat255 wants to merge 2 commits into
mainfrom
jat255/ci-sysreqs-without-ppa
Closed

jat255 wants to merge 2 commits into
mainfrom
jat255/ci-sysreqs-without-ppa

Conversation

@jat255

@jat255 jat255 commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

This PR adds a shared composite action that installs the R system requirements on Linux without Chromium. The R jobs no longer depend on the xtradeb Launchpad PPA that pak adds for Chromium. This PPA has caused at least two outages that I've noticed while working, which is kind of a drag.

Details (agent-written)

Chromium is the only one of the 26 system requirements that comes from outside Ubuntu's archive, and pak adds ppa:xtradeb/apps for it. The five R CMD check jobs on Ubuntu installed it too, although they set COMMONS_SKIP_BROWSER_TESTS and never start a browser.

r-sysreqs asks pak for the requirements that setup-r-dependencies would install for the same extra-packages and needs, drops the chrome requirement, and installs the rest. Each R workflow runs it first, then runs setup-r-dependencies with PKG_SYSREQS=false. The citation browser job uses the Chrome that ships in the runner image, and its existing Locate Chrome step fails if chromote cannot find it. macOS and Windows do not change, because pak installs no system packages there.

Rejected alternatives: retrying setup-r-dependencies (the last outage lasted about 40 minutes), and turning system requirements off entirely (the runner image does not promise cmake, protobuf, libnode, or unixodbc-dev).

Testing: the action's script ran in an Ubuntu 24.04 container against Package Manager's latest, and actionlint passes on the three workflows. In this PR's checks, every Ubuntu R CMD check job and pkgdown pass without adding the PPA, and the citation browser tests (30) pass on the runner's Chrome.

setup-r-dependencies still prints "Missing 26 system packages" in its log. With PKG_SYSREQS=false, pak lists every requirement without checking what is installed, so the message is expected.

pak installs Chromium on Ubuntu from ppa:xtradeb/apps, so every R job on Linux failed while Launchpad was unavailable, including the R CMD check jobs that never start a browser. Chromium is the only requirement that comes from outside Ubuntu's archive, and the runner image already ships Chrome.

A shared composite action, r-sysreqs, asks pak for the same system requirements setup-r-dependencies would install, drops the chrome requirement, and installs the rest. setup-r-dependencies then runs with PKG_SYSREQS=false in the R CMD check, pkgdown, and citation browser workflows. The browser tests use the runner's Chrome, which chromote finds on the PATH.
@jat255 jat255 added r Affects the R implementation needs-manual-review Agent-created work that needs a human review labels Oct 22, 2026
@jat255 jat255 removed the needs-manual-review Agent-created work that needs a human review label Oct 22, 2026
@jat255
jat255 marked this pull request as ready for review October 22, 2026 01:36
@jat255
jat255 requested a review from simonpcouch October 22, 2026 01:36

@simonpcouch simonpcouch left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

It seems like the underlying issue may have been resolved upstream yesterday—this commit now guards every Ubuntu pre-install command with [ $(which google-chrome) ] || …, for 22.04/24.04/26.04. Our Actions runs yesterday hadn't picked up this commit yet, but they should now—could we wait on this and see if the issue has now resolved itself? I'd prefer to continue to get upstream improvements from pak and its toolchain for free.

@jat255

jat255 commented Oct 22, 2026

Copy link
Copy Markdown
Collaborator Author

It seems like the underlying issue may have been resolved upstream yesterday—this commit now guards every Ubuntu pre-install command with [ $(which google-chrome) ] || …, for 22.04/24.04/26.04. Our Actions runs yesterday hadn't picked up this commit yet, but they should now—could we wait on this and see if the issue has now resolved itself? I'd prefer to continue to get upstream improvements from pak and its toolchain for free.

Ha, in my rage to workaround this, I didn't think to look at where xtradeb was coming from. Thanks @schloerke! I think that fix will work and agree with you better not to have the workaround here.

@jat255 jat255 closed this Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

r Affects the R implementation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants