Fix the code that makes surfaces compliant with the right hand rule #2432
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
# This workflow will install Python dependencies, run tests and lint with a single version of Python | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: hazardlib + engine + server tests | |
on: | |
pull_request: | |
jobs: | |
engine: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-24.04] | |
python-version: ["3.12"] | |
env: | |
GITHUB_HEAD_REF: ${{ github.head_ref }} | |
FROM_FORK: ${{ github.event.pull_request.head.repo.fork }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
if [[ $FROM_FORK == "true" ]]; then | |
python install.py devel --version=$GITHUB_HEAD_REF --from_fork | |
else | |
python install.py devel --version=$GITHUB_HEAD_REF | |
fi | |
- name: Calculators hazard tests | |
run: | | |
set -e | |
source ~/openquake/bin/activate | |
pip install pytest https://wheelhouse.openquake.org/v3/py/rtgmpy-1.0.0-py3-none-any.whl | |
oq engine --upgrade-db | |
pytest --doctest-modules -x --disable-warnings --color=yes --durations=10 openquake/calculators -k 'not risk and not damage and not bcr' | |
hazardlib: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-24.04] | |
python-version: ["3.12"] | |
env: | |
GITHUB_HEAD_REF: ${{ github.head_ref }} | |
FROM_FORK: ${{ github.event.pull_request.head.repo.fork }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
if [[ $FROM_FORK == "true" ]]; then | |
python install.py devel --version=$GITHUB_HEAD_REF --from_fork | |
else | |
python install.py devel --version=$GITHUB_HEAD_REF | |
fi | |
- name: Hazardlib tests | |
run: | | |
set -e | |
source ~/openquake/bin/activate | |
pip install pyshp pytest flake8 ruff https://wheelhouse.openquake.org/v3/py/rtgmpy-1.0.0-py3-none-any.whl | |
oq engine --upgrade-db | |
cd openquake | |
ruff check --preview . | |
pytest calculators -k 'risk or damage or bcr' -x --doctest-modules --disable-warnings --color=yes --durations=5 | |
pytest -xs --doctest-modules --disable-warnings --color=yes --durations=8 sep hmtk risklib commonlib baselib hazardlib | |
server_public_mode: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-24.04] | |
python-version: ["3.11"] | |
env: | |
GITHUB_HEAD_REF: ${{ github.head_ref }} | |
FROM_FORK: ${{ github.event.pull_request.head.repo.fork }} | |
OQ_APPLICATION_MODE: PUBLIC | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
if [[ $FROM_FORK == "true" ]]; then | |
python install.py devel --version=$GITHUB_HEAD_REF --from_fork | |
else | |
python install.py devel --version=$GITHUB_HEAD_REF | |
fi | |
- name: Server 'PUBLIC' mode tests | |
run: | | |
curl -O https://downloads.openquake.org/test_data/exposure.hdf5 | |
source ~/openquake/bin/activate | |
pip install pytest https://wheelhouse.openquake.org/v3/py/rtgmpy-1.0.0-py3-none-any.whl | |
oq engine --upgrade-db | |
pytest -xs --doctest-modules --disable-warnings --color=yes openquake/commands openquake/engine | |
# -v 2 also logs the test names | |
./openquake/server/manage.py test -v 2 tests.test_public_mode | |
server_read_only_mode: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-24.04] | |
python-version: ["3.11"] | |
env: | |
GITHUB_HEAD_REF: ${{ github.head_ref }} | |
FROM_FORK: ${{ github.event.pull_request.head.repo.fork }} | |
OQ_APPLICATION_MODE: READ_ONLY | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
if [[ $FROM_FORK == "true" ]]; then | |
python install.py devel --version=$GITHUB_HEAD_REF --from_fork | |
else | |
python install.py devel --version=$GITHUB_HEAD_REF | |
fi | |
- name: Server 'READ_ONLY' mode tests | |
run: | | |
source ~/openquake/bin/activate | |
oq engine --upgrade-db | |
# -v 2 also logs the test names | |
./openquake/server/manage.py test -v 2 tests.test_read_only_mode | |
server_aelo_mode: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-24.04] | |
python-version: ["3.11"] | |
env: | |
GITHUB_HEAD_REF: ${{ github.head_ref }} | |
FROM_FORK: ${{ github.event.pull_request.head.repo.fork }} | |
OQ_APPLICATION_MODE: AELO | |
OQ_CONFIG_FILE: openquake/server/tests/data/openquake.cfg | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
if [[ $FROM_FORK == "true" ]]; then | |
python install.py devel --version=$GITHUB_HEAD_REF --from_fork | |
else | |
python install.py devel --version=$GITHUB_HEAD_REF | |
fi | |
- name: Server 'AELO' mode tests | |
run: | | |
source ~/openquake/bin/activate | |
oq engine --upgrade-db | |
./openquake/server/manage.py migrate | |
./openquake/server/manage.py loaddata openquake/server/fixtures/0001_cookie_consent_required_plus_hide_cookie_bar.json | |
./openquake/server/manage.py collectstatic --noinput | |
# -v 2 also logs the test names | |
./openquake/server/manage.py test -v 2 tests.test_aelo_mode | |
server_aristotle_mode: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-24.04] | |
python-version: ["3.11"] | |
env: | |
GITHUB_HEAD_REF: ${{ github.head_ref }} | |
FROM_FORK: ${{ github.event.pull_request.head.repo.fork }} | |
OQ_APPLICATION_MODE: ARISTOTLE | |
OQ_CONFIG_FILE: openquake/server/tests/data/openquake.cfg | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
if [[ $FROM_FORK == "true" ]]; then | |
python install.py devel --version=$GITHUB_HEAD_REF --from_fork | |
else | |
python install.py devel --version=$GITHUB_HEAD_REF | |
fi | |
- name: Server 'ARISTOTLE' mode tests | |
run: | | |
set -x | |
date | |
wget https://downloads.openquake.org/test_data/exposure.hdf5 | |
date | |
mv exposure.hdf5 openquake/qa_tests_data/mosaic/ | |
source ~/openquake/bin/activate | |
export PY_VER="$(python -c 'import sys; version=sys.version_info[:2]; print("{0}.{1}".format(*version))')" | |
export PYVER="$(echo ${PY_VER} | tr -d .)" | |
pip install https://wheelhouse.openquake.org/v3/linux/py${PYVER}/timezonefinder-6.5.2-cp${PYVER}-cp${PYVER}-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl | |
oq engine --upgrade-db | |
./openquake/server/manage.py migrate | |
touch ~/webui-access.log | |
# -v 2 also logs the test names | |
OQ_CONFIG_FILE=openquake/server/tests/data/openquake.cfg ./openquake/server/manage.py test -v 2 tests.test_aristotle_mode |