Skip to content

Clean parameterized hfun interface #421

Clean parameterized hfun interface

Clean parameterized hfun interface #421

Workflow file for this run

name: Test Tools
env:
TOOLS_PATH: ${{ github.workspace }}/tools
GH_ACTIONS_PATH: ${{ github.workspace }}/.github/workflows
IBCDFO_PKG: ${{ github.workspace }}/ibcdfo_pypkg
BENDFO_PY_PATH: ${{ github.workspace }}/BenDFO/py
BENDFO_DATA_PATH: ${{ github.workspace }}/BenDFO/data
MINQ5_PY_PATH: ${{ github.workspace }}/minq/py/minq5
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
# Prefer using the latest Python version supported by the package
test_tools:
runs-on: ubuntu-latest
steps:
# -- General Setup Steps
# This action requires minq
- name: Checkout IBCDFO repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Checkout BenDFO repository
uses: actions/checkout@v4
with:
repository: POptUS/BenDFO
path: BenDFO
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.14"
- name: Setup Python with tox
run: $GH_ACTIONS_PATH/setup_tox_github_action.sh ${{ runner.os }}
- name: Build and install package
run: |
pushd $IBCDFO_PKG
python -m build --wheel
python -m pip install dist/ibcdfo-*-py3-none-any.whl
popd
python -m pip list
# -- Run each tool individually
# The check_python_standards action already uses
# * check_flake8_compliance.sh and
# * format_with_black.sh
# so we don't test them here as well.
#
# We would like to have a MATLAB test block that runs test_ibcdfo.m.
# However, the MINQ unittests require manual user input, which is
# incompatible with running MATLAB in actions (TBC).
- name: Use tools
run: |
export PYTHONPATH=$BENDFO_PY_PATH:$MINQ5_PY_PATH
echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV
cp $BENDFO_DATA_PATH/dfo.dat .
$TOOLS_PATH/test_ibcdfo_python_installation.py