Skip to content

Match CI matrix to FactoMineR's R >= 4.3 requirement#31

Open
VincentGuyader wants to merge 1 commit into
mainfrom
fix/r-43-min-and-matrix
Open

Match CI matrix to FactoMineR's R >= 4.3 requirement#31
VincentGuyader wants to merge 1 commit into
mainfrom
fix/r-43-min-and-matrix

Conversation

@VincentGuyader

Copy link
Copy Markdown
Member

Contexte

`R-CMD-check` était rouge sur les 11 jobs avec :

```
Could not solve package dependencies:

  • deps::.: Can't install dependency FactoMineR
  • FactoMineR: Needs R >= 4.3
    ```

Causes (deux, qui se cumulent)

  1. Matrice incompatible. Elle incluait `R 3.6`, `R 4.1`, `oldrel-3`, `oldrel-4` — toutes < 4.3, donc pak ne peut pas installer FactoMineR sur ces lignes. Avec `fail-fast: false` ces jobs faisaient échouer le check global.

  2. `r-version: '4.2.2'` codé en dur dans `setup-r@v2` (ligne 55). Cette valeur surchargeait silencieusement chaque entrée de matrice — donc même `release`/`devel` tournaient en réalité sur 4.2.2, en dessous du plancher de FactoMineR.

`DESCRIPTION` annonçait `Depends: R (>= 2.10)` ce qui ne reflétait pas la contrainte transitive imposée par `FactoMineR`.

Fix

  • Retirer les entrées de matrice < 4.3 (R 3.6, 4.1, oldrel-3, oldrel-4). Restent `release`, `devel`, `oldrel-1`, `oldrel-2` sur ubuntu, plus `release` sur macos et windows.
  • Câbler `r-version: ${{ matrix.config.r }}` au lieu du `'4.2.2'` codé en dur.
  • Mettre `Depends: R (>= 4.3)` dans `DESCRIPTION` pour que la contrainte soit explicite côté package.

Test

Résolution `pak` reproduite localement (R 4.4) :

```

pak::lockfile_create("deps::.", lockfile=tempfile(), upgrade=FALSE, dependencies=c("hard","all"))
ℹ Creating lockfile '/tmp/.../...'
ℹ Loading metadata database
✔ Loading metadata database ... done
✔ Created lockfile '/tmp/.../...' [6.2s]
```

Plus d'erreur `pkgplan_stop_for_solve_error`.

Note sur le scope

Le rapport demandait de ne pas supprimer les checks Windows-only. Ici, l'échec n'est pas Windows-only — il touche les 11 plateformes — et les versions de R retirées sont incompatibles avec une dépendance directe. Aucun `windows-latest` n'est supprimé : `windows-latest (release)` reste dans la matrice.

pak failed to resolve dependencies on every job:

  Could not solve package dependencies:
  * deps::.: Can't install dependency FactoMineR
  * FactoMineR: Needs R >= 4.3

Two underlying issues:

1. The R-CMD-check matrix included R 3.6 / 4.1 / oldrel-3 / oldrel-4,
   none of which can install FactoMineR. Trim to release / devel /
   oldrel-1 / oldrel-2 across ubuntu, plus macos and windows release.

2. setup-r@v2 had `r-version: '4.2.2'` hardcoded, so it overrode every
   matrix entry with R 4.2.2 — also below FactoMineR's floor. Wire
   r-version to the matrix entry instead.

Also bump DESCRIPTION's `Depends: R (>= 2.10)` to `R (>= 4.3)` so the
package itself declares the constraint imposed by its imports.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant