-
Notifications
You must be signed in to change notification settings - Fork 5
83 lines (71 loc) · 1.9 KB
/
pillar_ii_esm.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
name: eFlows4HPC Pillar II ESM
on:
workflow_dispatch:
pull_request:
paths:
- 'Pillar_II/esm/**'
push:
paths:
- 'Pillar_II/esm/**'
jobs:
lint:
runs-on: 'ubuntu-latest'
timeout-minutes: 15
env:
EXTRAE_MPI_HEADERS: /usr/include/x86_64-linux-gnu/mpi
steps:
- name: Apt-Get Install
run: |
sudo apt-get update
sudo apt-get install -y shellcheck libboost-all-dev libopenmpi-dev
- name: Checkout
uses: actions/checkout@v4
- name: Configure Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Shellchecker
run: |
cd Pillar_II/esm/
find . -name "*.sh" -exec shellcheck --external-sources {} \;
- name: Install
run: |
cd Pillar_II/esm/
pip install -r requirements.txt
- name: MyPy
run: |
cd Pillar_II/esm/
mypy src
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
fail-fast: true
matrix:
os: [ 'ubuntu-latest' ]
python-version: [ '3.10' ]
env:
TZ: ${{ matrix.time-zone }}
PYTEST_ADDOPTS: --cov --cov-append --color=yes
EXTRAE_MPI_HEADERS: /usr/include/x86_64-linux-gnu/mpi
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Apt-Get Install
run: |
sudo apt-get update
sudo apt-get install -y libboost-all-dev libopenmpi-dev
- name: Install
run: |
cd Pillar_II/esm/
pip install -r requirements.txt
- name: Python Unit Tests
timeout-minutes: 3
run: |
cd Pillar_II/esm/
pytest src tests/
- name: Shell Unit Tests
timeout-minutes: 3
run: |
cd Pillar_II/esm/
docker run --rm -v "${PWD}:/code" bats/bats:latest --verbose-run --recursive ./