Skip to content

GH-50298: [CI][R] Update ubuntu-clang CI job to use clang 22 to match CRAN#50299

Open
thisisnic wants to merge 1 commit into
apache:mainfrom
thisisnic:GH-50298-clang22
Open

GH-50298: [CI][R] Update ubuntu-clang CI job to use clang 22 to match CRAN#50299
thisisnic wants to merge 1 commit into
apache:mainfrom
thisisnic:GH-50298-clang22

Conversation

@thisisnic

@thisisnic thisisnic commented Jun 30, 2026

Copy link
Copy Markdown
Member

Rationale for this change

CI clang version outdated, false positive failures against CRAN

What changes are included in this PR?

Update clang manually

Are these changes tested?

Will run CI

Are there any user-facing changes?

No

Copilot AI review requested due to automatic review settings June 30, 2026 08:30
@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #50298 has been automatically assigned in GitHub to PR creator.

@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #50298 has no components, please add labels for components.

@github-actions github-actions Bot added the awaiting committer review Awaiting committer review label Jun 30, 2026
@thisisnic

Copy link
Copy Markdown
Member Author

Once we're happy with this, we should file an issue on rhub

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the R “as-CRAN” CI workflow to better match CRAN’s current debian-clang toolchain by enabling an optional clang upgrade path for the rhub/ubuntu-clang image.

Changes:

  • Adds a per-matrix flag (r_update_clang) for the ubuntu-clang job to trigger a clang upgrade.
  • Wires R_UPDATE_CLANG through the GitHub workflow → Docker Compose build args → linux-r.dockerfiler_docker_configure.sh.
  • Adds an apt.llvm.org-based installation step intended to install clang 22 inside the R image.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
dev/tasks/r/github.linux.cran.yml Adds matrix flag and env var to enable clang updates for ubuntu-clang.
compose.yaml Passes R_UPDATE_CLANG into the r image build args.
ci/scripts/r_docker_configure.sh Implements the clang 22 installation logic when R_UPDATE_CLANG=true.
ci/docker/linux-r.dockerfile Introduces r_update_clang build arg and propagates it to R_UPDATE_CLANG.

Comment on lines +92 to +99
if [ "$R_UPDATE_CLANG" = true ]; then
apt-get update -y --allow-releaseinfo-change
apt-get install -y gnupg
curl -fsSL https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor -o /etc/apt/trusted.gpg.d/llvm.gpg
echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-22 main" > /etc/apt/sources.list.d/llvm22.list
apt-get update -y --allow-releaseinfo-change
apt-get install -y clang-22 lld-22
fi
@thisisnic

Copy link
Copy Markdown
Member Author

@github-actions crossbow submit test-r-linux-as-cran

@github-actions

Copy link
Copy Markdown

Revision: f846f90

Submitted crossbow builds: ursacomputing/crossbow @ actions-9491b6cbd6

Task Status
test-r-linux-as-cran GitHub Actions

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

Labels

awaiting committer review Awaiting committer review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants