Skip to content

Update pythonpackage.yml #269

Update pythonpackage.yml

Update pythonpackage.yml #269

Workflow file for this run

name: Python package
on:
push:
pull_request:
schedule:
- cron: '0 0 1 * *'
jobs:
code-quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Lint with flake8
run: |
pip install flake8
flake8 rpy2_arrow --count --max-complexity=10 --max-line-length=127 --statistics
build:
runs-on: ${{ matrix.os }}
strategy:
max-parallel: 4
matrix:
python-version: [3.8, 3.9, "3.10", "3.11" ,"3.12"]
r-version: ['4.3', '4.4']
os: [ubuntu-22.04, ubuntu-latest, macOS-latest]
include:
- os: ubuntu-22.04
SYSTEM_DEPS: sudo apt-get install -y libcurl4-gnutls-dev
- os: ubuntu-latest
SYSTEM_DEPS: sudo apt-get install -y libcurl4-gnutls-dev
- os: macOS-latest
SYSTEM_DEPS: brew install curl
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Set up R ${{ matrix.r-version }}
uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.r-version }}
- name: Install system dependencies
run: ${{ matrix.SYSTEM_DEPS }}
- name: Install R dependencies
run: |
install.packages(c("assertthat", "cpp11", "tidyselect", "vctrs", "R6", "purrr", "bit64"))
Sys.setenv("NOT_CRAN" = "true")
install.packages("arrow")
shell: Rscript {0}
- name: Install R dependency "polars" (MacOS)
if: startsWith(matrix.os, 'MacOS')
run: |
install.packages("nanoarrow")
install.packages("polars", repos = "https://rpolars.r-universe.dev")
shell: Rscript {0}
- name: Install R dependency "polars" (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
install.packages("nanoarrow")
Sys.setenv(NOT_CRAN = "true")
install.packages("polars", repos = "https://community.r-multiverse.org")
shell: Rscript {0}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install git+https://github.com/rpy2/rpy2-r6
- name: Build package
run: |
pip install build
python -m build
- name: Install package
run: |
pip install $(ls -t1 dist/*.whl | tail -1)'[all]'
- name: Test with pytest
run: |
export LD_LIBRARY_PATH=$(python -m rpy2.situation LD_LIBRARY_PATH):${LD_LIBRARY_PATH}
pip install pytest codecov pytest-cov
pip install pandas
pytest --cov rpy2_arrow.pyarrow_rarrow --cov rpy2_arrow.r6b --cov rpy2_arrow.polars rpy2_arrow/tests*.py