Test #35
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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") | |