Nightlies #1418
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: Nightlies | |
on: | |
schedule: | |
# run daily at 5:00 am UTC (12 am ET/9 pm PT) | |
- cron: '0 5 * * *' | |
repository_dispatch: | |
# to run this, send a POST API call at repos/<user>/<repo>/dispatches with the specified event_type | |
# e.g. `gh repos/CCSI-Toolset/FOQUS/dispatches -F event_type=ci_run_nightlies` | |
types: [ci_run_nightlies] | |
workflow_dispatch: | |
defaults: | |
run: | |
# needed to be able to use | |
shell: bash -l {0} | |
jobs: | |
user-install-run: | |
name: Install/run (${{ matrix.foqus-install-target }}/${{ matrix.os }}/py${{ matrix.python-version }}) | |
runs-on: ${{ matrix.os-version }} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: | |
- '3.9' | |
- '3.12' | |
os: | |
- linux | |
- win64 | |
- macos | |
foqus-install-target: | |
- stable | |
- master | |
examples-release: | |
- '3.9.0' | |
include: | |
- os: macos | |
os-version: macos-12 | |
- os: linux | |
os-version: ubuntu-20.04 | |
- os: win64 | |
os-version: windows-2019 | |
- foqus-install-target: stable | |
pip-install-target: ccsi-foqus | |
- foqus-install-target: master | |
pip-install-target: https://github.com/CCSI-Toolset/FOQUS/archive/master.zip | |
- foqus-install-target: stable | |
os: win64 | |
python-version: '3.9' | |
steps: | |
- name: Set up Conda | |
uses: conda-incubator/setup-miniconda@v2 | |
- name: Install FOQUS in a Conda env (user mode) | |
env: | |
py_ver: ${{ matrix.python-version }} | |
pip_install_target: ${{ matrix.pip-install-target }} | |
run: | | |
echo '::group::Output of conda create/activate/install' | |
conda create --name ccsi-foqus --quiet --yes -c conda-forge python="$py_ver" pywin32=306 | |
conda activate ccsi-foqus | |
conda install --yes -c CCSI-Toolset -c conda-forge psuade-lite=1.9 | |
echo '::endgroup::' | |
echo '::group::Output of pip install/list/show' | |
pip install --progress-bar off "$pip_install_target" | |
pip list | |
pip show ccsi-foqus PyQt5 pywin32 | |
echo '::endgroup::' | |
- name: Apply hotfix commands | |
if: matrix.hotfix-command | |
run: | | |
conda activate ccsi-foqus | |
${{ matrix.hotfix-command }} | |
- name: Show foqus help | |
run: | | |
conda activate ccsi-foqus | |
foqus --help | |
- name: Download and test examples (${{ matrix.examples-release }}) | |
env: | |
base_url: https://github.com/CCSI-Toolset/FOQUS/releases/download | |
release: ${{ matrix.examples-release }} | |
run: | | |
curl --silent --show-error -L "$base_url/$release/ccsi-foqus-$release-examples.zip" --output examples.zip | |
unzip -q examples.zip | |
echo '::group::Content of examples directory' | |
ls -Ralh "$PWD"/examples/ | |
echo '::endgroup::' | |
conda activate ccsi-foqus | |
foqus --load ./examples/test_files/Optimization/Opt_Test_01.foqus --run opt --out test_opt.foqus |