Skip to content

Fix build-deploy errors on push to main#5

Merged
gloria-trivitt merged 16 commits into
mainfrom
fix_build-deploy_error
Jul 21, 2026
Merged

Fix build-deploy errors on push to main#5
gloria-trivitt merged 16 commits into
mainfrom
fix_build-deploy_error

Conversation

@gloria-trivitt

@gloria-trivitt gloria-trivitt commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Sequential fixes were implemented to resolve failures in the GitHub Actions build-deploy workflow that runs on push to main.

Summary of fixes

  1. Fixed the R_LIBS_USER mismatch. The Verify R Packages Installation step was reading a different R_LIBS_USER value than the Install R Packages step. Packages were being installed into one library path, but later steps were looking in another. Therefore, R reported them as missing even though installation had succeeded. This was fixed by setting R_LIBS_USER once at the job level, so every step shares the same value.

  2. Added missing system dependencies for ubuntu-latest. The workflow runs on GitHub Actions’ current Ubuntu image, which does not include libcurl4-openssl-dev or libuv1-dev by default. Those headers are required to compile the curl and fs R packages from source, so an explicit apt-get install step was added for both. Background: GitHub Actions' ubuntu-latest runner now uses Ubuntu 24.04 (Noble), which differs from previous Ubuntu runner images. Ubuntu 24.04 introduced the t64 runtime library transition as part of the 64-bit time_t migration along with other changes to the base system. As a result, development packages that may have been available implicitly on earlier runner images are no longer guaranteed to be present. Installing libcurl4-openssl-dev and libuv1-dev explicitly ensures the development dependencies required to compile the curl and fs R packages are available.

  3. Prevented info_schema_tutorial.qmd from executing its code chunks. This tutorial calls bigrquery::bq_auth(), which requires Google credentials. The executable R/SQL chunks were converted to non-executing code blocks, so the tutorial still renders and remains copyable without trying to authenticate during site build.

  4. Removed a duplicate info_schema_tutorial.qmd at the repository root. A duplicate copy outside the tutorials/ folder was being rendered a second time, which reproduced the same failure independently of the change above. That stray duplicate was removed.

Error logs

1. Mismatched R_LIBS_USER

Run Rscript -e "library(knitr, lib.loc = Sys.getenv('R_LIBS_USER'))"
  Rscript -e "library(knitr, lib.loc = Sys.getenv('R_LIBS_USER'))"
  Rscript -e "library(rmarkdown, lib.loc = Sys.getenv('R_LIBS_USER'))"
  shell: /usr/bin/bash -e {0}
  env:
    R_LIBS_USER: /home/runner/work/_temp/Library
    TZ: UTC
    _R_CHECK_SYSTEM_CLOCK_: FALSE
    NOT_CRAN: true
    RSPM: https://packagemanager.posit.co/cran/__linux__/noble/latest
    RENV_CONFIG_REPOS_OVERRIDE: https://packagemanager.posit.co/cran/__linux__/noble/latest
Error in library(knitr, lib.loc = Sys.getenv("R_LIBS_USER")) : 
  there is no package called ‘knitr’
Execution halted
Error: Process completed with exit code 1.

2. Missing libcurl

--------------------------- [ANTICONF] --------------------------------
Configuration failed because libcurl was not found. Try installing:
 * deb: libcurl4-openssl-dev (Debian, Ubuntu, etc)
 * rpm: libcurl-devel (Fedora, CentOS, RHEL)
 * apk: curl-dev (Alpine)
If libcurl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a libcurl.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
Error: MESSAGE] ---------------------------
<stdin>:1:10: fatal error: curl/curl.h: No such file or directory
compilation terminated.
--------------------------------------------------------------------

3. Missing libuv

--------------------------- [CONFIGURE] --------------------------------
Configuration failed because libuv was not found. Try installing:
 * deb: libuv1-dev (Debian, Ubuntu, etc)
 * rpm: libuv-devel (Fedora, EPEL)
 * brew: libuv (OSX)
Alternatively set environment variable USE_BUNDLED_LIBUV=1 to build a static
version of libuv that is included with this package.
Error: MESSAGE] ---------------------------
<stdin>:1:10: fatal error: uv.h: No such file or directory
compilation terminated.
--------------------------------------------------------------------

4. BigQuery authentication failure during render

processing file: info_schema_tutorial.qmd
1/9                  
2/9 [unnamed-chunk-1]
Error in `bigrquery::bq_auth()`:
! Can't get Google credentials.
ℹ Try calling `bq_auth()` directly with necessary specifics.
Backtrace:
    ▆
 1. └─bigrquery::bq_auth()
 2.   └─cli::cli_abort(...)
 3.     └─rlang::abort(...)

Quitting from info_schema_tutorial.qmd:28-37 [unnamed-chunk-1]
Execution halted
WARN: Error encountered when rendering files
ERROR: Error
    at renderFiles (file:///opt/quarto/bin/quarto.js:136597:49)
    at eventLoopTick (ext:core/01_core.js:179:7)
    at async renderProject (file:///opt/quarto/bin/quarto.js:137140:23)
    at async renderForPublish2 (file:///opt/quarto/bin/quarto.js:173346:25)
    at async renderForPublish (file:///opt/quarto/bin/quarto.js:167988:22)
    at async Object.publish2 [as publish] (file:///opt/quarto/bin/quarto.js:168527:24)
    at async publishSite (file:///opt/quarto/bin/quarto.js:173388:38)
    at async publish8 (file:///opt/quarto/bin/quarto.js:173727:58)
    at async doPublish (file:///opt/quarto/bin/quarto.js:173674:7)
    at async publishAction (file:///opt/quarto/bin/quarto.js:173693:5)
    at async _Command.actionHandler (file:///opt/quarto/bin/quarto.js:173652:9)
    at async _Command.execute (file:///opt/quarto/bin/quarto.js:102091:7)
    at async _Command.parseCommand (file:///opt/quarto/bin/quarto.js:101968:14)
    at async quarto4 (file:///opt/quarto/bin/quarto.js:187649:5)
    at async file:///opt/quarto/bin/quarto.js:187677:5
    at async file:///opt/quarto/bin/quarto.js:187532:14
    at async mainRunner (file:///opt/quarto/bin/quarto.js:187534:5)
    at async file:///opt/quarto/bin/quarto.js:187670:3
Error: Process completed with exit code 1.

@gloria-trivitt gloria-trivitt changed the title Add test comment to quarto-publish.yml to see if it fails the build-d… Fix build-deploy error Jul 21, 2026
@gloria-trivitt gloria-trivitt changed the title Fix build-deploy error Fix build-deploy errors on push to main Jul 21, 2026

@jacobmpeters jacobmpeters left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@gloria-trivitt
gloria-trivitt merged commit 69b53de into main Jul 21, 2026
@gloria-trivitt
gloria-trivitt deleted the fix_build-deploy_error branch July 21, 2026 16:19
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.

2 participants