Skip to content

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

Open

Description

@jennybc

#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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions