| name: PythonKorAPClient CI unit test |
| |
| on: [push, pull_request] |
| |
| jobs: |
| build: |
| |
| runs-on: ${{ matrix.os }} |
| strategy: |
| max-parallel: 4 |
| matrix: |
| python-version: [3.5, 3.6, 3.7, 3.8] |
| r-version: [3.6, 4.0] |
| os: [macOS-latest, ubuntu-latest, windows-latest] |
| exclude: |
| # os: windows-latest |
| # python-version: 3.8 |
| - python-version: 3.5 |
| - os: windows-latest |
| steps: |
| - uses: actions/checkout@v1 |
| - name: Set up Python ${{ matrix.python-version }} |
| uses: actions/setup-python@v1 |
| with: |
| python-version: ${{ matrix.python-version }} |
| - name: Set up R ${{ matrix.r-version }} |
| uses: r-lib/actions/setup-r@master |
| with: |
| r-version: ${{ matrix.r-version }} |
| - name: Cache R packages |
| uses: actions/cache@v1 |
| with: |
| path: ${{ env.R_LIBS_USER }} |
| key: ${{ runner.os }}-r-${{ matrix.config.r }}-${{ hashFiles('DESCRIPTION') }} |
| - name: Install Linux system dependencies |
| if: runner.os == 'Linux' |
| run: | |
| sudo apt-get update -y |
| sudo apt-get install -y libglpk-dev libjq-dev libv8-dev libprotobuf-dev protobuf-compiler libudunits2-dev libgdal-dev libcurl4-gnutls-dev libssl-dev libxml2-dev libsodium-dev python3-rpy2 python3-pandas |
| - name: Install dependencies |
| run: | |
| python -m pip install --upgrade pip |
| - name: Install windows dependencies |
| if: runner.os == 'Windows' && matrix.python-version == '3.8' |
| run: | |
| echo "Bug in setuptools requires update" |
| python -m pip install --upgrade setuptools pycparser wheel |
| - name: Install package |
| run: | |
| python setup.py install |
| - name: Test with pytest on POSIX |
| if: runner.os != 'Windows' |
| run: | |
| export LD_LIBRARY_PATH=$(python -m rpy2.situation LD_LIBRARY_PATH):${LD_LIBRARY_PATH} |
| pip install pytest codecov pytest-cov ipython |
| ./scripts/run_tests.sh |
| - name: Test with pytest on Windows |
| if: runner.os == 'Windows' |
| run: | |
| pip install pytest codecov pytest-cov ipython |
| ./scripts/run_tests.sh |