Switch Windows CI back to release pak once it supports Windows arm64 binaries
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
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+):
- Remove the
pak-version: develline, and the comment above it, from.github/workflows/test-windows.yml. - Check the
windows-11-armjob's "Install R Packages Required For Tests" step:- The "Repo status" group lists
https://cran.r-universe.devwith platformaarch64-w64-mingw32-windows.binary.arm64, not onlysource. - The install plan has no
[bld]tags, and the step takes about a minute, not about 20.
- The "Repo status" group lists
- Dominant language
- Rust
- Stars
- 342
- Forks
- 31
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 31
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from posit-dev/ark
-
bug
Difficulty 5/5 Over a week Newbie friendliness 15/100
posit-dev/ark#1461 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 8/100
posit-dev/ark#1441 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
posit-dev/ark#1360 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
pop-os/cosmic-applets#1619 ·
Maintainers usually reply within 3 days
-
binding:python bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
coollabsio/orbit#72 ·
Maintainers usually reply within 1 day
-
swc_common: Mark::least_ancestor never returns when the answer is the root mark (ANT-2026-JYDQGGRT)Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
swc-project/swc-ai-issues#137 ·
-
Synth suite fails unless run from the repo root: signal_flow's default machine path is cwd-relativeOpenbug
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Nimblesite/osprey#370 ·
Maintainers usually reply within 1 day