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

Aperta Adatta ai principianti
#1,471 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
72/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
github-actions, r, rust
Ambito
ci-cd

Direzione di ricerca

Leggi .github/workflows/test-windows.yml e controlla le release di pak per verificare se includono la modifica di pkgcache che supporta R 4.6 e i successivi tipi di pacchetti binari personalizzati. Quando una release la include, rimuovi la riga pak-version: devel e il relativo commento, quindi esamina il passaggio «Install R Packages Required For Tests» del job windows-11-arm. Il lavoro è completato quando lo stato del repository mostra la piattaforma binaria arm64 e il piano di installazione non contiene tag [bld].

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

#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.
Lingua principale
Rust
Stelle
342
Fork
31
Merge medio
1g 11h
PR unite (30g)
31

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di posit-dev/ark

Tutte le issue di posit-dev/ark

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.