Skip to content

Cookie consent

Cookie consent #1665

# 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:
matrix:
os: [ubuntu-22.04]
python-version: ["3.9"]
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@v4
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 and documentation 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 dbserver upgrade
pytest --doctest-modules -x --disable-warnings --color=yes --durations=10 openquake/calculators -k 'not risk and not damage'
hazardlib:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.9"]
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@v4
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 dbserver upgrade
cd openquake
ruff check --preview --select NPY201 .
pytest calculators -k 'risk or damage' -x --doctest-modules --disable-warnings --color=yes --durations=5
pytest -xs --doctest-modules --disable-warnings --color=yes --durations=8 sep commands engine hmtk risklib commonlib baselib hazardlib
server_public_mode:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.11"]
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@v4
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: |
source ~/openquake/bin/activate
# -v 2 also logs the test names
OQ_APPLICATION_MODE=PUBLIC ./openquake/server/manage.py test -v 2 tests.test_public_mode
server_read_only_mode:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.11"]
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@v4
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
# -v 2 also logs the test names
OQ_APPLICATION_MODE=READ_ONLY ./openquake/server/manage.py test -v 2 tests.test_read_only_mode
server_aelo_mode:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.11"]
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@v4
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
# -v 2 also logs the test names
OQ_APPLICATION_MODE=AELO OQ_CONFIG_FILE=openquake/server/tests/data/openquake.cfg ./openquake/server/manage.py test -v 2 tests.test_aelo_mode