diff --git a/.github/workflows/test_r.yaml b/.github/workflows/test_r.yaml new file mode 100644 index 0000000..9755fe1 --- /dev/null +++ b/.github/workflows/test_r.yaml @@ -0,0 +1,68 @@ +name: R-test + +on: + push: + branches: + [main, dev, reticulate_demo_test] + pull_request: + branches: + [main] + schedule: + - cron: '11 1 1 * *' + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + R-test: + name: python ${{ matrix.python-version }}, ${{ matrix.os }} + runs-on: ${{ matrix.os }} + env: + REPO_NAME: ${{ github.event.repository.name }} + + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + python-version: ['3.7', '3.8', '3.9', '3.10'] + include: + - os: windows-latest + python-version: "3.9" + steps: + - uses: actions/checkout@v3 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Set up R + uses: r-lib/actions/setup-r@v2 + with: + r-version: 'release' + + - uses: r-lib/actions/setup-pandoc@v2 + + - name: Update pip and install testing pkgs + run: | + python -VV + python -m pip install --upgrade pip + pip install pytest + + # fiona doesn't have wheels for windows + - if: matrix.os == 'windows-latest' + run: | + pip install https://github.com/cgohlke/geospatial-wheels/releases/download/v2023.7.16/GDAL-3.7.1-cp39-cp39-win_amd64.whl + pip install https://github.com/cgohlke/geospatial-wheels/releases/download/v2023.7.16/Fiona-1.9.4.post1-cp39-cp39-win_amd64.whl + + - name: Install package and dependencies + run: | + python -m pip install --no-deps . + pip install -r requirements.txt + + - name: Run pip env using R reticulate + run: | + install.packages("reticulate") + reticulate::import("harmonize_wq") + shell: Rscript {0} + + - name: Run pytest + run: pytest -v harmonize_wq