Make CI image locale setup portable across Rocker versions - #102
Conversation
{qcthat} Report: User AcceptanceNo issues are awaiting UAT. This report was generated by this GitHub Actions run. Last updated: 2026-05-27 02:25:52 UTC Session Info─ Session info ───────────────────────────────────────────────────────────────setting value version R version 4.6.0 (2026-04-24) os Ubuntu 24.04.4 LTS system x86_64, linux-gnu ui X11 language (EN) collate en_US.UTF-8 ctype en_US.UTF-8 tz UTC date 2026-05-27 pandoc 3.1.3 @ /usr/bin/pandoc quarto NA ─ Packages ─────────────────────────────────────────────────────────────────── package * version date (UTC) lib source askpass 1.2.1 2024-10-04 [1] RSPM astgrepr 0.1.1 2025-06-07 [1] RSPM backports 1.5.1 2026-04-03 [1] RSPM base * 4.6.0 2026-04-24 [2] local base64enc 0.1-6 2026-02-02 [1] RSPM boot 1.3-32 2025-08-29 [2] CRAN (R 4.6.0) brew 1.0-10 2023-12-16 [1] RSPM brio 1.1.5 2024-04-24 [1] RSPM bslib 0.11.0 2026-05-16 [1] RSPM cachem 1.1.0 2024-05-16 [1] RSPM callr 3.7.6 2024-03-25 [1] RSPM checkmate 2.3.4 2026-02-03 [1] RSPM class 7.3-23 2025-01-01 [2] CRAN (R 4.6.0) cli 3.6.6 2026-04-09 [1] RSPM clipr 0.8.1 2026-05-25 [1] RSPM cluster 2.1.8.2 2026-02-05 [2] CRAN (R 4.6.0) codetools 0.2-20 2024-03-31 [2] CRAN (R 4.6.0) commonmark 2.0.0 2025-07-07 [1] RSPM compiler 4.6.0 2026-04-24 [2] local covr 3.6.5 2025-11-09 [1] RSPM crayon 1.5.3 2024-06-20 [1] RSPM credentials 2.0.3 2025-09-12 [1] RSPM curl 7.1.0 2026-04-22 [1] RSPM datasets * 4.6.0 2026-04-24 [2] local desc 1.4.3 2023-12-10 [1] RSPM devtools 2.5.2 2026-04-30 [1] RSPM diffobj 0.3.6 2025-04-21 [1] RSPM digest 0.6.39 2025-11-19 [1] RSPM docopt 0.7.2 2025-03-25 [1] RSPM (R 4.6.0) downlit 0.4.5 2025-11-14 [1] RSPM dplyr 1.2.1 2026-04-03 [1] RSPM ellipsis 0.3.3 2026-04-04 [1] RSPM emoji 16.0.0 2024-10-28 [1] RSPM evaluate 1.0.5 2025-08-27 [1] RSPM fansi 1.0.7 2025-11-19 [1] RSPM fastmap 1.2.0 2024-05-15 [1] RSPM fontawesome 0.5.3 2024-11-16 [1] RSPM foreign 0.8-91 2026-01-29 [2] CRAN (R 4.6.0) fs 2.1.0 2026-04-18 [1] RSPM generics 0.1.4 2025-05-09 [1] RSPM gert 2.3.1 2026-01-11 [1] RSPM gh 1.5.0 2025-05-26 [1] RSPM git2r 0.36.2 2025-03-29 [1] RSPM gitcreds 0.1.2 2022-09-08 [1] RSPM glue 1.8.1 2026-04-17 [1] RSPM graphics * 4.6.0 2026-04-24 [2] local grDevices * 4.6.0 2026-04-24 [2] local grid 4.6.0 2026-04-24 [2] local highr 0.12 2026-03-06 [1] RSPM htmltools 0.5.9 2025-12-04 [1] RSPM htmlwidgets 1.6.4 2023-12-06 [1] RSPM httpuv 1.6.17 2026-03-18 [1] RSPM httr 1.4.8 2026-02-13 [1] RSPM httr2 1.2.2 2025-12-08 [1] RSPM ini 0.3.1 2018-05-20 [1] RSPM jquerylib 0.1.4 2021-04-26 [1] RSPM jsonlite 2.0.0 2025-03-27 [1] RSPM KernSmooth 2.23-26 2025-01-01 [2] CRAN (R 4.6.0) knitr 1.51 2025-12-20 [1] RSPM later 1.4.8 2026-03-05 [1] RSPM lattice 0.22-9 2026-02-09 [2] CRAN (R 4.6.0) lifecycle 1.0.5 2026-01-08 [1] RSPM littler 0.3.23 2026-04-12 [1] RSPM (R 4.6.0) magick 2.9.1 2026-02-28 [1] RSPM magrittr 2.0.5 2026-04-04 [1] RSPM MASS 7.3-65 2025-02-28 [2] CRAN (R 4.6.0) Matrix 1.7-5 2026-03-21 [2] CRAN (R 4.6.0) memoise 2.0.1 2021-11-26 [1] RSPM methods * 4.6.0 2026-04-24 [2] local mgcv 1.9-4 2025-11-07 [2] CRAN (R 4.6.0) mime 0.13 2025-03-17 [1] RSPM miniUI 0.1.2 2025-04-17 [1] RSPM nlme 3.1-169 2026-03-27 [2] CRAN (R 4.6.0) nnet 7.3-20 2025-01-01 [2] CRAN (R 4.6.0) openssl 2.4.1 2026-05-14 [1] RSPM otel 0.2.0 2025-08-29 [1] RSPM pak 0.9.5 2026-04-27 [1] RSPM (R 4.6.0) parallel 4.6.0 2026-04-24 [2] local pillar 1.11.1 2025-09-17 [1] RSPM pkgbuild 1.4.8 2025-05-26 [1] RSPM pkgconfig 2.0.3 2019-09-22 [1] RSPM pkgdown 2.2.0 2025-11-06 [1] RSPM pkgload 1.5.2 2026-04-22 [1] RSPM pkgskills 0.0.0.9000 2026-05-27 [1] local praise 1.0.0 2015-08-11 [1] RSPM prettyunits 1.2.0 2023-09-24 [1] RSPM processx 3.9.0 2026-04-22 [1] RSPM profvis 0.4.0 2024-09-20 [1] RSPM promises 1.5.0 2025-11-01 [1] RSPM ps 1.9.3 2026-04-20 [1] RSPM purrr 1.2.2 2026-04-10 [1] RSPM qcthat 1.1.2 2026-05-27 [1] Github (Gilead-Public/qcthat@d0958dc) R6 2.6.1 2025-02-15 [1] RSPM ragg 1.5.2 2026-03-23 [1] RSPM rappdirs 0.3.4 2026-01-17 [1] RSPM rcmdcheck 1.4.0 2021-09-27 [1] RSPM Rcpp 1.1.1-1.1 2026-04-24 [1] RSPM rex 1.2.2 2026-03-28 [1] RSPM rlang 1.2.0 2026-04-06 [1] RSPM rmarkdown 2.31 2026-03-26 [1] RSPM roxygen2 8.0.0 2026-05-01 [1] RSPM rpart 4.1.27 2026-03-27 [2] CRAN (R 4.6.0) rprojroot 2.1.1 2025-08-26 [1] RSPM rrapply 1.2.8 2025-11-25 [1] RSPM rstudioapi 0.18.0 2026-01-16 [1] RSPM rversions 3.0.0 2025-10-09 [1] RSPM sass 0.4.10 2025-04-11 [1] RSPM sessioninfo 1.2.3 2025-02-05 [1] RSPM shiny 1.13.0 2026-02-20 [1] RSPM sourcetools 0.1.7-2 2026-03-28 [1] RSPM spatial 7.3-18 2025-01-01 [2] CRAN (R 4.6.0) splines 4.6.0 2026-04-24 [2] local stats * 4.6.0 2026-04-24 [2] local stats4 4.6.0 2026-04-24 [2] local stbl 0.3.0.9000 2026-05-27 [1] Github (wranglezone/stbl@5a38548) stringi 1.8.7 2025-03-27 [1] RSPM stringr 1.6.0 2025-11-04 [1] RSPM survival 3.8-6 2026-01-16 [2] CRAN (R 4.6.0) sys 3.4.3 2024-10-04 [1] RSPM systemfonts 1.3.2 2026-03-05 [1] RSPM tcltk 4.6.0 2026-04-24 [2] local testthat 3.3.2 2026-01-11 [1] RSPM textshaping 1.0.5 2026-03-06 [1] RSPM tibble 3.3.1 2026-01-11 [1] RSPM tidyr 1.3.2 2025-12-19 [1] RSPM tidyselect 1.2.1 2024-03-11 [1] RSPM tinytex 0.59 2026-03-28 [1] RSPM tools 4.6.0 2026-04-24 [2] local urlchecker 1.0.1 2021-11-30 [1] RSPM usethis 3.2.1 2025-09-06 [1] RSPM utf8 1.2.6 2025-06-08 [1] RSPM utils * 4.6.0 2026-04-24 [2] local vctrs 0.7.3 2026-04-11 [1] RSPM waldo 0.6.2 2025-07-11 [1] RSPM whisker 0.4.1 2022-12-05 [1] RSPM withr 3.0.2 2024-10-28 [1] RSPM xfun 0.57 2026-03-20 [1] RSPM xml2 1.5.2 2026-01-17 [1] RSPM xopen 1.0.1 2024-04-25 [1] RSPM xtable 1.8-8 2026-02-22 [1] RSPM yaml 2.3.12 2025-12-10 [1] RSPM zip 2.3.3 2025-05-13 [1] RSPM [1] /usr/local/lib/R/site-library [2] /usr/local/lib/R/library [3] /__w/_temp/Library
────────────────────────────────────────────────────────────────────────────── |
{qcthat} ReportsPR-Associated Issues█ A qcthat issue test matrix with 0 milestones, 0 issues, and 0 testsCompleted Issues✅ A qcthat issue test matrix with 1 milestone, 25 issues, and 102 tests🟢 All issues have at least one test 🙈 12 issues with label "qcthat-nocov" were ignored This report was generated by this GitHub Actions run. Last updated: 2026-05-27 02:25:53 UTC Session Info─ Session info ───────────────────────────────────────────────────────────────setting value version R version 4.6.0 (2026-04-24) os Ubuntu 24.04.4 LTS system x86_64, linux-gnu ui X11 language (EN) collate en_US.UTF-8 ctype en_US.UTF-8 tz UTC date 2026-05-27 pandoc 3.1.3 @ /usr/bin/pandoc quarto NA ─ Packages ─────────────────────────────────────────────────────────────────── package * version date (UTC) lib source askpass 1.2.1 2024-10-04 [1] RSPM astgrepr 0.1.1 2025-06-07 [1] RSPM backports 1.5.1 2026-04-03 [1] RSPM base * 4.6.0 2026-04-24 [2] local base64enc 0.1-6 2026-02-02 [1] RSPM boot 1.3-32 2025-08-29 [2] CRAN (R 4.6.0) brew 1.0-10 2023-12-16 [1] RSPM brio 1.1.5 2024-04-24 [1] RSPM bslib 0.11.0 2026-05-16 [1] RSPM cachem 1.1.0 2024-05-16 [1] RSPM callr 3.7.6 2024-03-25 [1] RSPM checkmate 2.3.4 2026-02-03 [1] RSPM class 7.3-23 2025-01-01 [2] CRAN (R 4.6.0) cli 3.6.6 2026-04-09 [1] RSPM clipr 0.8.1 2026-05-25 [1] RSPM cluster 2.1.8.2 2026-02-05 [2] CRAN (R 4.6.0) codetools 0.2-20 2024-03-31 [2] CRAN (R 4.6.0) commonmark 2.0.0 2025-07-07 [1] RSPM compiler 4.6.0 2026-04-24 [2] local covr 3.6.5 2025-11-09 [1] RSPM crayon 1.5.3 2024-06-20 [1] RSPM credentials 2.0.3 2025-09-12 [1] RSPM curl 7.1.0 2026-04-22 [1] RSPM datasets * 4.6.0 2026-04-24 [2] local desc 1.4.3 2023-12-10 [1] RSPM devtools 2.5.2 2026-04-30 [1] RSPM diffobj 0.3.6 2025-04-21 [1] RSPM digest 0.6.39 2025-11-19 [1] RSPM docopt 0.7.2 2025-03-25 [1] RSPM (R 4.6.0) downlit 0.4.5 2025-11-14 [1] RSPM dplyr 1.2.1 2026-04-03 [1] RSPM ellipsis 0.3.3 2026-04-04 [1] RSPM emoji 16.0.0 2024-10-28 [1] RSPM evaluate 1.0.5 2025-08-27 [1] RSPM fansi 1.0.7 2025-11-19 [1] RSPM fastmap 1.2.0 2024-05-15 [1] RSPM fontawesome 0.5.3 2024-11-16 [1] RSPM foreign 0.8-91 2026-01-29 [2] CRAN (R 4.6.0) fs 2.1.0 2026-04-18 [1] RSPM generics 0.1.4 2025-05-09 [1] RSPM gert 2.3.1 2026-01-11 [1] RSPM gh 1.5.0 2025-05-26 [1] RSPM git2r 0.36.2 2025-03-29 [1] RSPM gitcreds 0.1.2 2022-09-08 [1] RSPM glue 1.8.1 2026-04-17 [1] RSPM graphics * 4.6.0 2026-04-24 [2] local grDevices * 4.6.0 2026-04-24 [2] local grid 4.6.0 2026-04-24 [2] local highr 0.12 2026-03-06 [1] RSPM htmltools 0.5.9 2025-12-04 [1] RSPM htmlwidgets 1.6.4 2023-12-06 [1] RSPM httpuv 1.6.17 2026-03-18 [1] RSPM httr 1.4.8 2026-02-13 [1] RSPM httr2 1.2.2 2025-12-08 [1] RSPM ini 0.3.1 2018-05-20 [1] RSPM jquerylib 0.1.4 2021-04-26 [1] RSPM jsonlite 2.0.0 2025-03-27 [1] RSPM KernSmooth 2.23-26 2025-01-01 [2] CRAN (R 4.6.0) knitr 1.51 2025-12-20 [1] RSPM later 1.4.8 2026-03-05 [1] RSPM lattice 0.22-9 2026-02-09 [2] CRAN (R 4.6.0) lifecycle 1.0.5 2026-01-08 [1] RSPM littler 0.3.23 2026-04-12 [1] RSPM (R 4.6.0) magick 2.9.1 2026-02-28 [1] RSPM magrittr 2.0.5 2026-04-04 [1] RSPM MASS 7.3-65 2025-02-28 [2] CRAN (R 4.6.0) Matrix 1.7-5 2026-03-21 [2] CRAN (R 4.6.0) memoise 2.0.1 2021-11-26 [1] RSPM methods * 4.6.0 2026-04-24 [2] local mgcv 1.9-4 2025-11-07 [2] CRAN (R 4.6.0) mime 0.13 2025-03-17 [1] RSPM miniUI 0.1.2 2025-04-17 [1] RSPM nlme 3.1-169 2026-03-27 [2] CRAN (R 4.6.0) nnet 7.3-20 2025-01-01 [2] CRAN (R 4.6.0) openssl 2.4.1 2026-05-14 [1] RSPM otel 0.2.0 2025-08-29 [1] RSPM pak 0.9.5 2026-04-27 [1] RSPM (R 4.6.0) parallel 4.6.0 2026-04-24 [2] local pillar 1.11.1 2025-09-17 [1] RSPM pkgbuild 1.4.8 2025-05-26 [1] RSPM pkgconfig 2.0.3 2019-09-22 [1] RSPM pkgdown 2.2.0 2025-11-06 [1] RSPM pkgload 1.5.2 2026-04-22 [1] RSPM pkgskills 0.0.0.9000 2026-05-27 [1] local praise 1.0.0 2015-08-11 [1] RSPM prettyunits 1.2.0 2023-09-24 [1] RSPM processx 3.9.0 2026-04-22 [1] RSPM profvis 0.4.0 2024-09-20 [1] RSPM promises 1.5.0 2025-11-01 [1] RSPM ps 1.9.3 2026-04-20 [1] RSPM purrr 1.2.2 2026-04-10 [1] RSPM qcthat 1.1.2 2026-05-27 [1] Github (Gilead-Public/qcthat@d0958dc) R6 2.6.1 2025-02-15 [1] RSPM ragg 1.5.2 2026-03-23 [1] RSPM rappdirs 0.3.4 2026-01-17 [1] RSPM rcmdcheck 1.4.0 2021-09-27 [1] RSPM Rcpp 1.1.1-1.1 2026-04-24 [1] RSPM rex 1.2.2 2026-03-28 [1] RSPM rlang 1.2.0 2026-04-06 [1] RSPM rmarkdown 2.31 2026-03-26 [1] RSPM roxygen2 8.0.0 2026-05-01 [1] RSPM rpart 4.1.27 2026-03-27 [2] CRAN (R 4.6.0) rprojroot 2.1.1 2025-08-26 [1] RSPM rrapply 1.2.8 2025-11-25 [1] RSPM rstudioapi 0.18.0 2026-01-16 [1] RSPM rversions 3.0.0 2025-10-09 [1] RSPM sass 0.4.10 2025-04-11 [1] RSPM sessioninfo 1.2.3 2025-02-05 [1] RSPM shiny 1.13.0 2026-02-20 [1] RSPM sourcetools 0.1.7-2 2026-03-28 [1] RSPM spatial 7.3-18 2025-01-01 [2] CRAN (R 4.6.0) splines 4.6.0 2026-04-24 [2] local stats * 4.6.0 2026-04-24 [2] local stats4 4.6.0 2026-04-24 [2] local stbl 0.3.0.9000 2026-05-27 [1] Github (wranglezone/stbl@5a38548) stringi 1.8.7 2025-03-27 [1] RSPM stringr 1.6.0 2025-11-04 [1] RSPM survival 3.8-6 2026-01-16 [2] CRAN (R 4.6.0) sys 3.4.3 2024-10-04 [1] RSPM systemfonts 1.3.2 2026-03-05 [1] RSPM tcltk 4.6.0 2026-04-24 [2] local testthat 3.3.2 2026-01-11 [1] RSPM textshaping 1.0.5 2026-03-06 [1] RSPM tibble 3.3.1 2026-01-11 [1] RSPM tidyr 1.3.2 2025-12-19 [1] RSPM tidyselect 1.2.1 2024-03-11 [1] RSPM tinytex 0.59 2026-03-28 [1] RSPM tools 4.6.0 2026-04-24 [2] local urlchecker 1.0.1 2021-11-30 [1] RSPM usethis 3.2.1 2025-09-06 [1] RSPM utf8 1.2.6 2025-06-08 [1] RSPM utils * 4.6.0 2026-04-24 [2] local vctrs 0.7.3 2026-04-11 [1] RSPM waldo 0.6.2 2025-07-11 [1] RSPM whisker 0.4.1 2022-12-05 [1] RSPM withr 3.0.2 2024-10-28 [1] RSPM xfun 0.57 2026-03-20 [1] RSPM xml2 1.5.2 2026-01-17 [1] RSPM xopen 1.0.1 2024-04-25 [1] RSPM xtable 1.8-8 2026-02-22 [1] RSPM yaml 2.3.12 2025-12-10 [1] RSPM zip 2.3.3 2025-05-13 [1] RSPM [1] /usr/local/lib/R/site-library [2] /usr/local/lib/R/library [3] /__w/_temp/Library
────────────────────────────────────────────────────────────────────────────── |
🌐 PR pkgdown deployedThis report was generated by this GitHub Actions job. Last updated: 2026-05-27 02:26:10 UTC |
Co-authored-by: jonthegeek <33983824+jonthegeek@users.noreply.github.com>
jonthegeek
left a comment
There was a problem hiding this comment.
Looks good as far as I can tell!
There was a problem hiding this comment.
Pull request overview
This PR fixes CI image builds across the Rocker R-version matrix by making locale generation portable (removing the dependency on /usr/share/locale/locale.alias) and explicitly setting runtime locale environment variables.
Changes:
- Switch locale setup from
localedef ... -A /usr/share/locale/locale.alias ...to a/etc/locale.gen+locale-gen en_US.UTF-8flow. - Export both
LANGandLC_ALLasen_US.UTF-8to keep locale behavior explicit inside the container.
The
Build CI Imageworkflow was failing while building.github/dockerbecause locale generation depended on/usr/share/locale/locale.alias, which is not present across the full Rocker matrix. This updates locale setup to generateen_US.UTF-8using the distro-supportedlocale-genpath instead.Locale generation
localedef ... -A /usr/share/locale/locale.alias ...invocation with/etc/locale.gen+locale-gen en_US.UTF-8.locale.aliaspath so the build works across older and newer Rocker base images.Runtime locale environment
LANGandLC_ALLasen_US.UTF-8to keep the container locale explicit and consistent.Scope
Original prompt
The GitHub Actions job at https://github.com/api2r/pkgskills/actions/runs/26394402082/job/77976535471 is failing in the
Build CI Imageworkflow while building the CI container image.Repository:
api2r/pkgskillsPlease implement a fix for the failing build.
What failed:
.github/docker/Dockerfileduring locale setup.localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8after installinglocales.locale alias file '/usr/share/locale/locale.alias' not found: No such file or directory..github/workflows/build-ci-image.yml, which builds.github/dockeracross an R-version matrix (devel,release,oldrel-1,oldrel-2,oldrel-3,oldrel-4).Desired fix:
/usr/share/locale/locale.aliasexisting.en_US.UTF-8for the container.Suggested direction:
localedef ... -A /usr/share/locale/locale.alias ...usage with a more portable locale setup such as enablingen_US.UTF-8 UTF-8in/etc/locale.genand runninglocale-gen en_US.UTF-8.LANG=en_US.UTF-8; setLC_ALL=en_US.UTF-8too if appropriate.Please create a pull request with the fix.
The following is the prior conversation context from the user's chat exploration (may be truncated):
User: Please find a solution for this failing job. Use the logs, job definition, and any referenced files where the failure occurred. Keep your response focused on the solution and include code suggestions when appropriate.
Assistant: The failure is caused by the locale-generation step in the CI image Docker build, not by the R-version resolution step.
Root cause
In
.github/docker/Dockerfileat025e8f389f3b22754699380a9c448ad9c3af2a76, this line fails:localedef ... -A /usr/share/locale/locale.alias en_US.UTF-8From the job log:
locale alias file '/usr/share/locale/locale.alias' not found: No such file or directoryThat means the image being built from
rocker/r-ver:${R_VERSION}does not reliably provide/usr/share/locale/locale.alias, so the explicit-Aargument makeslocaledefabort.Fix
Remove the dependency on
locale.aliasand generate the locale in a more portable way.Recommended patch
In
.github/docker/Dockerfile:Why this works
locale-genuses/etc/locale.genand avoids the brittle hardcoded dependency on/usr/share/locale/locale.alias. That makes the build more robust across Debian/Ubuntu variants used by different Rocker tags, especially older R images in your matrix from.github/workflows/build-ci-image.yml.Minimal alternative
If you want the smallest change, replace:
with:
But the
locale-genapproach is safer.Files involved
Best targeted change
Update
.github/docker/Dockerfileto uselocale-geninstead oflocaledef -A /usr/share/locale/locale.alias .... This directly addresses the failing line shown in the logs and should unblock the CI image build across the matrix.User: Can you hand this off to @copilot to implement a fix?
Assistant: Yes — I’ve handed it off to @copilot to implement the fix in `api2r/...
This pull request was created from Copilot chat.