Skip to content

๐Ÿšธ Improve the user experience for setting up Python & reticulate #412

๐Ÿšธ Improve the user experience for setting up Python & reticulate

๐Ÿšธ Improve the user experience for setting up Python & reticulate #412

Workflow file for this run

on:
push:
branches: [main]
pull_request:
branches: [main]
name: R-CMD-check.yaml
permissions: read-all
jobs:
R-CMD-check:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
strategy:
fail-fast: false
matrix:
config:
- { os: macos-latest, r: "release", python: "3.x" }
- { os: windows-latest, r: "release", python: "3.x" }
- { os: ubuntu-latest, r: "devel", http-user-agent: "release", python: "3.x" }
- { os: ubuntu-latest, r: "release", python: "3.x" }
- { os: ubuntu-latest, r: "oldrel-1", python: "3.9" }
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
LAMIN_API_KEY: ${{ secrets.LAMIN_API_KEY_TESTUSER1 }}
steps:
- uses: actions/checkout@v4
- uses: r-lib/actions/setup-pandoc@v2
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.config.python }}
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
# manually installing openblas as a workaround for issue
# https://github.com/laminlabs/laminr/issues/57
- name: Install OpenBLAS on macOS
if: runner.os == 'macOS'
run: |
brew install openblas
OPENBLAS=$(brew --prefix openblas)
echo "LDFLAGS=-L$OPENBLAS/lib" >> $GITHUB_ENV
echo "CPPFLAGS=-I$OPENBLAS/include" >> $GITHUB_ENV
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::rcmdcheck, local::.
needs: check
- name: Install {tiledbsoma}
if: runner.os == 'Linux'
run: |
options(repos = c("https://chanzuckerberg.r-universe.dev", getOption("repos")))
pak::pkg_install("tiledbsoma")
shell: Rscript {0}
- name: Install Python 3.12 on macOS
# We use python 3.12 on mac os x so we can install scipy 1.13 from a wheel
if: runner.os == 'macOS'
run: |
reticulate::install_python(version = "3.12")
shell: Rscript {0}
- name: Setup Python environment
run: |
laminr::install_lamindb(extra_packages = c("s3fs"))
shell: Rscript {0}
- name: Log in to Lamin
run: |
reticulate::use_virtualenv("r-lamindb")
laminr::lamin_login()
shell: Rscript {0}
- name: Set lamindata as default instance
run: |
reticulate::use_virtualenv("r-lamindb")
laminr::lamin_connect("laminlabs/lamindata")
shell: Rscript {0}
- name: Check whether we can import lamindb and connect to the default instance
run: |
reticulate::use_virtualenv("r-lamindb")
reticulate::py_config()
reticulate::import("lamindb")
laminr::connect()
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@main
with:
name: ${{ runner.os }}-r${{ matrix.config.r }}-results
path: check