Re paper (#208) #157
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: TEAL integration | |
on: | |
push: | |
branches: | |
- main | |
- '*_rel' | |
pull_request: | |
branches: [ main ] | |
workflow_dispatch: | |
defaults: | |
run: | |
# important to make sure that all commands on Windows are run using Bash | |
# -l: login shell, needed when using Conda | |
shell: bash -l -eo pipefail {0} | |
env: | |
PIP_PROGRESS_BAR: "off" | |
jobs: | |
raven-basic: | |
name: RAVEN (py${{ matrix.python-version }}/${{ matrix.os }}) | |
runs-on: ${{ matrix.os-version }} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.8'] | |
os: | |
- linux | |
- win64 | |
include: | |
- os: linux | |
os-version: ubuntu-20.04 | |
raven-supported: false | |
- os: win64 | |
os-version: windows-2019 | |
raven-supported: true | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Python package and dependencies | |
run: | | |
echo '::group::Output of "pip install" commands' | |
pip install --upgrade wheel setuptools | |
pip install -r requirements-teal.txt | |
echo '::endgroup::' | |
echo '::group::Display installed packages' | |
pip list | |
echo '::endgroup::' | |
- name: Verify that required RAVEN Python APIs can be imported | |
if: matrix.raven-supported | |
run: | | |
python -c " | |
from ravenframework.utils import xmlUtils; print(xmlUtils) | |
from ravenframework import ROMExternal; print(ROMExternal) | |
" | |
- name: Download and run RAVEN example(s) | |
if: matrix.raven-supported | |
env: | |
raven_repo_clone_url: https://github.com/idaholab/raven | |
raven_repo_clone_dir: ../raven-repo-clone | |
raven_repo_workdir: tests/framework/user_guide/ForwardSamplingStrategies | |
raven_file_path: forwardSamplingGrid.xml | |
run: | | |
git clone "$raven_repo_clone_url" "$raven_repo_clone_dir" && cd "$raven_repo_clone_dir" | |
git log -n 1 | |
cd "$raven_repo_workdir" | |
raven_framework "$raven_file_path" | |
teal: | |
name: TEAL (py${{ matrix.python-version }}/${{ matrix.os }}) | |
runs-on: ${{ matrix.os-version }} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.8'] | |
os: | |
- win64 | |
include: | |
- os: win64 | |
os-version: windows-2019 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Python package and dependencies | |
run: | | |
echo '::group::Output of "pip install" commands' | |
pip install --upgrade wheel setuptools | |
pip install -r requirements-teal.txt | |
echo '::endgroup::' | |
echo '::group::Display installed packages' | |
pip list | |
echo '::endgroup::' | |
echo '::group::Output of pip freeze' | |
pip freeze | |
echo '::endgroup::' | |
- name: Verify that required TEAL Python APIs can be imported | |
run: | | |
python -c " | |
from TEAL.src import CashFlows; print(CashFlows) | |
from TEAL.src import main; print(main) | |
from TEAL.src.Amortization import MACRS; print(MACRS) | |
" | |
- name: Install IDAES solvers | |
run: | | |
echo '::group::Install IDAES solvers' | |
idaes get-extensions --verbose | |
echo '::endgroup::' | |
echo "$(idaes bin-directory)" >> $GITHUB_PATH | |
- name: Verify that both python and ipopt are available | |
run: | | |
which -a python | |
which -a ipopt | |
- name: Download and run TEAL example(s) | |
env: | |
teal_repo_clone_url: https://github.com/idaholab/TEAL | |
teal_repo_clone_dir: ../teal-repo-clone | |
run: | | |
git clone "$teal_repo_clone_url" "$teal_repo_clone_dir" && cd "$teal_repo_clone_dir" | |
git log -n 1 | |
python tests/PyomoTest.py | |
- name: Execute Jupyter notebooks with TEAL integration | |
env: | |
PYTEST_ADDOPTS: --color=yes -p no:python --nbcheck=exec --durations=0 --cell-timeout=600 | |
run: | | |
pytest -k "multiperiod_design_pricetaker_wTEALandSynhist.ipynb" |