Skip to content

New notebook with more details and simplistic example of using the Scheduler for bulk processing #403

New notebook with more details and simplistic example of using the Scheduler for bulk processing

New notebook with more details and simplistic example of using the Scheduler for bulk processing #403

name: regression-tests
# Controls when the workflow will run
on:
# Triggers the workflow on push events
push:
branches: [ 'main' ]
tags-ignore: [ '**' ]
# Triggers the workflow on pull request events
pull_request:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
regression_tests:
name: Python ${{ matrix.python-version }}
runs-on: ubuntu-20.04
strategy:
fail-fast: false # false: try to complete all jobs
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v3
- name: Clone CLOUDSC
uses: actions/checkout@v3
with:
repository: ecmwf-ifs/dwarf-p-cloudsc
path: cloudsc
ref: develop
- name: Clone ECWAM
uses: actions/checkout@v3
with:
repository: ecmwf-ifs/ecwam
path: ecwam
ref: naan-phys-gpu
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Refresh package lists
run: |
sudo apt-get -o Acquire::Retries=3 update || true
- name: Install Loki dependencies
run: |
sudo apt-get -o Acquire::Retries=3 install -y graphviz gfortran
- name: Install OMNI + CLAW dependencies
run: |
sudo apt-get -o Acquire::Retries=3 install -y byacc flex openjdk-11-jdk cmake ant
- name: Install CLOUDSC dependencies
run:
sudo apt-get -o Acquire::Retries=3 install -y libhdf5-dev
- name: Install Loki
run: |
./install --with-claw --with-ofp --with-tests --without-dace
- name: Install up-to-date CMake
run: |
source loki-activate
pip install cmake
- name: Install ECWAM dependencies
run: |
sudo apt-get -o Acquire::Retries=3 install -y libopenmpi-dev
source loki-activate
pip install fypp
- name: Run CLOUDSC and ECWAM regression tests
env:
CLOUDSC_DIR: ${{ github.workspace }}/cloudsc
CLOUDSC_ARCH: ${{ github.workspace }}/cloudsc/arch/github/ubuntu/gnu/9.4.0
ECWAM_DIR: ${{ github.workspace }}/ecwam
ECWAM_ARCH: ${{ github.workspace }}/ecwam/arch/github/ubuntu/gnu/9.4.0
OMP_STACKSIZE: 4G
run: |
mkdir -p ~/.ssh/ && touch ~/.ssh/known_hosts
cat << 'EOF' > ~/.ssh/known_hosts
${{ secrets.BITBUCKET_HOSTKEY }}
EOF
eval `ssh-agent -s`
ssh-add - <<< '${{ secrets.ECWAM_REPOSITORY_SSH_KEY }}'
source loki-activate
pytest --cov=transformations/transformations transformations/tests -k 'cloudsc or ecwam'