Switch Windows CI back to release pak once it supports Windows arm64 binaries

Open Beginner friendly
#1,471 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
github-actions, r, rust
Domain
ci-cd

Research direction

Read .github/workflows/test-windows.yml and check pak releases for the pkgcache change supporting R 4.6 and later custom binary package types. When a release includes it, remove the pak-version: devel line and its comment, then inspect the windows-11-arm job’s “Install R Packages Required For Tests” step. Done when the repo status shows the arm64 binary platform and the install plan has no [bld] tags.

Written by the indexing model from the issue text.

Description

#1467 set pak-version: devel for r-lib/actions/setup-r-dependencies in .github/workflows/test-windows.yml. Once a pak release includes the fix below, remove that line so Windows CI goes back to release pak.

Why we use dev pak

On windows-11-arm, the R installation that r-lib/actions/setup-r provides is the community Windows ARM64 build from r-devel/windows-arm64. Its etc/repositories sets CRAN to https://cran.r-universe.dev and marks it as having Windows binaries. setup-r keeps that repo.

pak 0.11.1 doesn't recognize R 4.6's Windows arm64 binary package type, so it treats r-universe as source-only and builds every R package from source (~20 min, mostly stringi). Because of r-lib/pkgdepends#486, pak also never counts those source-built packages as up to date, so the restored R package cache is ignored and the build happens on every run.

Dev pak (0.11.1.9000) includes r-lib/pkgcache#142 ("pkgcache now supports the custom binary package types of R 4.6.0 and later"). It installs r-universe's arm64 binaries, and the step takes under a minute.

windows-11-arm job Install R packages Whole job
Release pak (median of 7 runs) ~21 min ~34 min
Dev pak (job 128123337275) 55s ~16 min

The full investigation is in #1467. The same problem and workaround came up in stan-dev/cmdstanr#1304.

When to switch back

When a pak release's NEWS includes the pkgcache change above (custom binary package types for R 4.6+):

  1. Remove the pak-version: devel line, and the comment above it, from .github/workflows/test-windows.yml.
  2. Check the windows-11-arm job's "Install R Packages Required For Tests" step:
    • The "Repo status" group lists https://cran.r-universe.dev with platform aarch64-w64-mingw32-windows.binary.arm64, not only source.
    • The install plan has no [bld] tags, and the step takes about a minute, not about 20.
Dominant language
Rust
Stars
342
Forks
31
Avg merge
1d 11h
Merged PRs (30d)
31

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from posit-dev/ark

All issues in posit-dev/ark

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.