Skip to content

Merge pull request #10 from nasa-jpl/dev/pytests #17

Merge pull request #10 from nasa-jpl/dev/pytests

Merge pull request #10 from nasa-jpl/dev/pytests #17

Workflow file for this run

name: Build C code and run tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
submodules: recursive
lfs: false
- name: Restore LFS cache
uses: actions/cache@v3
with:
path: .git/lfs
key: lfs-${{ runner.os }}-${{ github.sha }}
restore-keys: |
lfs-${{ runner.os }}-
- name: Fetch only needed LFS files
run: |
git lfs install
git lfs fetch --include="tests/gold_standard_data/**"
git lfs checkout
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libpng-dev \
libyaml-dev \
libgsl-dev \
libgdal-dev \
libopencv-dev \
cmake \
build-essential \
python3-dev
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest
cd scripts/python
pip install -e .
- name: Configure and build C code
run: |
mkdir -p build
cd build
cmake -DWITH_OPENCV=ON ..
make -j$(nproc)
- name: Run pytest tests
run: |
pytest --maxfail=3 --tb=short
- name: Run gtest tests
run: |
ctest --output-on-failure