Skip to content

Test

Test #33

Workflow file for this run

name: Test
on:
push:
pull_request:
schedule:
- cron: '0 17 1,15 * *'
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.x'
- run: pip install ruff
- run: ruff check --output-format=github wellmap
test-python:
name: Test Python
strategy:
fail-fast: false
matrix:
# Normally I just test the lowest and highest supported versions, but
# this library installs different sets of dependencies for several
# different versions of python, so I wanted to be safe and test
# everything.
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.x']
operating-system:
- ubuntu-latest
- macos-latest
- windows-latest
runs-on: ${{ matrix.operating-system }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install test dependencies
run: |
pip install --upgrade pip
pip install '.[test,doc]'
- name: Build the documentation
run: |
# Need to build the docs before running the tests, because some of
# the doctests depend on generated example layouts.
cd docs
make
- name: Run test suite
run: |
pytest tests --cov wellmap
- name: Report test coverage
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_TOKEN }}
run: |
coveralls
test-r:
name: Test R
strategy:
matrix:
R: ['3.0', '3.6', '4.0', '4.3']
defaults:
run:
shell: Rscript {0}
working-directory: wellmapr
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: ~/work/_temp/Library
key: R-${{ runner.os }}-${{ matrix.R }}-${{ hashFiles('DESCRIPTION') }}
- uses: actions/setup-python@v4
with:
python-version: '3.x'
- uses: r-lib/actions/setup-r@v2
- name: Install test dependencies (apt-get)
shell: bash
run: |
sudo apt-get install libcurl4-openssl-dev
- name: Install test dependencies (python)
shell: bash
run: |
which python
pip install numpy ..
pip freeze
- name: Install test dependencies (R)
run: |
install.packages(c("remotes", "rcmdcheck", "covr"))
remotes::install_deps(dependencies = TRUE)
- name: Run test suite
run: |
reticulate::py_config()
rcmdcheck::rcmdcheck(args = "--no-manual", error_on = "error")