github actions failing on Mac devel because xml2 is not available

I'm developing a package that depends on XML2. Recently, I integrated GitHub actions into my workflow. Specifically, I integrated the action "R-CMD-check". It works well for windows-latest (3.6), macOS-latest(3.6), ubuntu-16.04 (3.6) but fails for macOS-latest(devel). I get these errors and warnings:

This is my configuration file (YAML), build by usethis::github_actions()

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

name: R-CMD-check

jobs:
  R-CMD-check:
    runs-on: ${{ matrix.config.os }}

    name: ${{ matrix.config.os }} (${{ matrix.config.r }})

    strategy:
      fail-fast: false
      matrix:
        config:
          - {os: windows-latest, r: '3.6'}
          - {os: macOS-latest, r: '3.6'}
          - {os: macOS-latest, r: 'devel'}
          - {os: ubuntu-16.04, r: '3.6', rspm: "https://demo.rstudiopm.com/all/__linux__/xenial/latest"}

    env:
      R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
      RSPM: ${{ matrix.config.rspm }}

    steps:
      - uses: actions/checkout@v2

      - uses: r-lib/actions/setup-r@master
        with:
          r-version: ${{ matrix.config.r }}

      - uses: r-lib/actions/setup-pandoc@master

      - name: Query dependencies
        run: |
          install.packages('remotes')
          saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2)
        shell: Rscript {0}

      - name: Cache R packages
        if: runner.os != 'Windows'
        uses: actions/cache@v1
        with:
          path: ${{ env.R_LIBS_USER }}
          key: ${{ runner.os }}-r-${{ matrix.config.r }}-${{ hashFiles('.github/depends.Rds') }}
          restore-keys: ${{ runner.os }}-r-${{ matrix.config.r }}-

      - name: Install system dependencies
        if: runner.os == 'Linux'
        env:
          RHUB_PLATFORM: linux-x86_64-ubuntu-gcc
        run: |
          Rscript -e "remotes::install_github('r-hub/sysreqs')"
          sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))")
          sudo -s eval "$sysreqs"
      - name: Install dependencies
        run: |
          remotes::install_deps(dependencies = TRUE)
          remotes::install_cran("rcmdcheck")
        shell: Rscript {0}

      - name: Check
        env:
          _R_CHECK_CRAN_INCOMING_REMOTE_: false
        run: rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check")
        shell: Rscript {0}

      - name: Upload check results
        if: failure()
        uses: actions/upload-artifact@master
        with:
          name: ${{ runner.os }}-r${{ matrix.config.r }}-results
          path: check

I'm not sure if this is similar to this issue github actions failing on Mac devel because dplyr and tidyr are not available

If so, the solution is to wait for a fix?

Thanks

This was fixed in a recent pull request to the xml2 package (see https://github.com/r-lib/xml2/issues/296). It seems to be caused by a mismatch between the OS version and XCode.

It will be included in the next xml2 release, or if you would like to fix your build now you can add

Remotes: r-lib/xml2

To your package's DESCRIPTION, so that the devel version of xml2 will be used.

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.