Skip to content

Fix test workflow

Fix test workflow #127

Workflow file for this run

name: Test PyMEOS
on:
push:
branches: [ "master", "stable-[0-9]+.[0-9]+" ]
paths-ignore:
- "docs/**"
- ".readthedocs.yml"
- "README.md"
- ".github/ISSUE_TEMPLATE/**"
pull_request:
branches: [ "master", "stable-[0-9]+.[0-9]+" ]
paths-ignore:
- "docs/**"
- ".readthedocs.yml"
- "README.md"
- ".github/ISSUE_TEMPLATE/**"
jobs:
test:
name: Test PyMEOS - Python ${{ matrix.python-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12", "3.13" ]
os: [ ubuntu-latest, macos-13, macos-14 ]
include:
- ld_prefix: "/usr/local"
- os: macos-14
ld_prefix: "/opt/homebrew"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get dependencies from apt (cache)
uses: awalsh128/cache-apt-pkgs-action@latest
if: runner.os == 'Linux'
with:
packages: build-essential cmake postgresql-server-dev-14 libproj-dev libjson-c-dev libgsl-dev libgeos-dev
version: 1.0
- name: Get dependencies from homebrew (cache)
uses: tecolicom/actions-use-homebrew-tools@v1
if: runner.os == 'macOS'
with:
tools: cmake libpq proj json-c gsl geos
- name: Update brew
if: matrix.os == 'macos-13'
# Necessary to avoid issue with macOS runners. See
# https://github.com/actions/runner-images/issues/4020
run: |
brew reinstall [email protected] || brew link --overwrite [email protected]
brew reinstall [email protected] || brew link --overwrite [email protected]
brew update
- name: Fetch MEOS sources
env:
BRANCH_NAME: ${{ github.base_ref || github.ref_name }}
run: |
git clone --branch ${{ env.BRANCH_NAME }} --depth 1 https://github.com/MobilityDB/MobilityDB
- name: Install MEOS
run: |
mkdir MobilityDB/build
cd MobilityDB/build
cmake .. -DMEOS=on -DCMAKE_INSTALL_PREFIX=${{ matrix.ld_prefix }}
make -j
sudo make install
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Fetch PyMEOS CFFI sources
env:
BRANCH_NAME: ${{ github.base_ref || github.ref_name }}
run: |
git clone --branch ${{ env.BRANCH_NAME }} --depth 1 https://github.com/MobilityDB/PyMEOS-CFFI
- name: Install python dependencies
run: |
python -m pip install --upgrade pip
pip install -r PyMEOS-CFFI/dev-requirements.txt
pip install -r dev-requirements.txt
- name: Install pymeos_cffi
run: |
cd PyMEOS-CFFI
python ./builder/build_header.py
python ./builder/build_pymeos_functions.py
pip install .
- name: Test PyMEOS with pytest
run: |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${{ matrix.ld_prefix }}/lib
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:${{ matrix.ld_prefix }}/lib
pytest