Copy demos/tests steps from m1 to intel #416
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: MacOS Intel install and test | |
'on': | |
workflow_dispatch: | |
inputs: | |
git-ref: | |
description: Git Ref | |
default: master | |
required: true | |
schedule: | |
- cron: "0 1 * * *" | |
push: | |
branches: [macos_test] | |
jobs: | |
install_and_test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-13] | |
python-version: [3.9, "3.10"] | |
steps: | |
# This Checkout use git-ref keyword from dispatch | |
- name: Clone Repository (Master) | |
uses: actions/checkout@v2 | |
if: github.event.inputs.git-ref == '' | |
- name: Clone Repository (Custom Ref) | |
uses: actions/checkout@v2 | |
if: github.event.inputs.git-ref != '' | |
with: | |
ref: ${{ github.event.inputs.git-ref }} | |
- name: Set up Python3 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Run Installation of oq-engine in devel mode | |
env: | |
BRANCH: ${{ github.event.inputs.git-ref }} | |
run: | | |
export PIP_DEFAULT_TIMEOUT=100 | |
pip3 install -U pip wheel setuptools | |
# | |
echo "branch to test: ${BRANCH}" | |
if [[ "$BRANCH" != "" ]] | |
then | |
python install.py devel --version ${BRANCH} | |
else | |
python install.py devel | |
fi | |
source ~/openquake/bin/activate | |
pip3 install pytest pyshp flake8 | |
oq dbserver start | |
sleep 10 | |
- name: Run demos to test installation | |
run: | | |
set -x | |
source ~/openquake/bin/activate | |
oq info venv | |
oq info cfg | |
cd /Users/runner/runner-isolation/actions-runner/_work/oq-engine/oq-engine/demos | |
ls -lrt | |
# run demos with job_hazard.ini and job_risk.ini | |
for demo_dir in $(find . -type d | sort); do | |
if [ -f $demo_dir/job_hazard.ini ]; then | |
OQ_DISTRIBUTE=zmq oq engine --run $demo_dir/job_hazard.ini --exports npz -p pointsource_distance=0 | |
OQ_DISTRIBUTE=zmq oq engine --run $demo_dir/job_risk.ini --hc -1 | |
fi | |
done | |
# run the other demos | |
for ini in $(find . -name job.ini | sort); do | |
OQ_DISTRIBUTE=zmq oq engine --run $ini --exports xml,hdf5 -p pointsource_distance=0 -r | |
done | |
- name: Run tests for calculators and advanced manual to test installation | |
if: always() | |
run: | | |
source ~/openquake/bin/activate | |
cd /Users/runner/runner-isolation/actions-runner/_work/oq-engine/oq-engine/ | |
pytest --doctest-modules --disable-warnings --color=yes --durations=10 openquake/calculators && pytest doc/adv-manual/*.rst | |
- name: Run tests for hazardlib, sep, commands, engine, hmtk, risklib, commonlib and baselib to test installation | |
if: always() | |
run: | | |
source ~/openquake/bin/activate | |
cd /Users/runner/runner-isolation/actions-runner/_work/oq-engine/oq-engine/openquake/ | |
pytest --doctest-modules --disable-warnings --color=yes --durations=10 hazardlib sep commands engine hmtk risklib commonlib baselib | |
- name: Run tests for the engine server in public mode to test installation | |
if: always() | |
run: | | |
source ~/openquake/bin/activate | |
cd /Users/runner/runner-isolation/actions-runner/_work/oq-engine/oq-engine/ | |
OQ_APPLICATION_MODE=public ./openquake/server/manage.py test tests.test_public_mode | |
- name: Run tests for the engine server in read-only mode to test installation | |
if: always() | |
run: | | |
source ~/openquake/bin/activate | |
cd /Users/runner/runner-isolation/actions-runner/_work/oq-engine/oq-engine/ | |
OQ_APPLICATION_MODE=read_only ./openquake/server/manage.py test tests.test_read_only_mode | |
- name: Run tests for the engine server in aelo mode to test installation | |
if: always() | |
run: | | |
source ~/openquake/bin/activate | |
cd /Users/runner/runner-isolation/actions-runner/_work/oq-engine/oq-engine/ | |
OQ_APPLICATION_MODE=aelo OQ_CONFIG_FILE=openquake/server/tests/data/openquake.cfg ./openquake/server/manage.py test tests.test_aelo_mode |