-
Notifications
You must be signed in to change notification settings - Fork 467
132 lines (122 loc) · 4.45 KB
/
github_test_action.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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: pandapower
on:
push:
branches: '*'
paths-ignore:
- 'CHANGELOG.rst'
pull_request:
branches: '*'
paths-ignore:
- 'CHANGELOG.rst'
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10']
steps:
- uses: actions/checkout@v2
#- uses: julia-actions/setup-julia@v1.5
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install .["all"]
if ${{ matrix.python-version == '3.7' }}; then python -m pip install pypower; fi
if ${{ matrix.python-version != '3.7' }}; then python -m pip install numba; fi
if ${{ matrix.python-version == '3.7' }}; then python -m pip install lightsim2grid; fi
if ${{ matrix.python-version == '3.10' }}; then python -m pip install lightsim2grid; fi
- name: Install Julia
if: ${{ matrix.python-version == '3.7' }}
run: |
./.install_julia.sh 1.5
pip install julia
python ./.install_pycall.py
- name: List of installed packages
run: |
pip list
- name: Test with pytest
if: ${{ matrix.python-version != '3.8' }}
run: |
pytest
- name: Test with pytest and Codecov
if: ${{ matrix.python-version == '3.8' }}
run: |
pip install pytest-cov
pytest --cov=./ --cov-report=xml
- name: Upload coverage to Codecov
if: ${{ matrix.python-version == '3.8' }}
uses: codecov/codecov-action@v1
with:
verbose: true
relying: # packages that rely on pandapower
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10']
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install .
pip install matplotlib
- name: Install pandapipes and simbench
run: |
python -m pip install git+https://github.com/e2nIEE/pandapipes@develop#egg=pandapipes numba
python -m pip install git+https://github.com/e2nIEE/simbench@develop#egg=simbench
- name: List of installed packages
run: |
pip list
- name: Test pandapipes
run: |
python -c 'from pandapipes import pp_dir; import pytest; import sys; ec = pytest.main([pp_dir]); sys.exit(ec)'
- name: Test simbench
run: |
python -c 'from simbench import sb_dir; import pytest; import sys; ec = pytest.main([sb_dir]); sys.exit(ec)'
linting:
# run flake8 and check for errors
runs-on: ubuntu-latest
continue-on-error: true
strategy:
fail-fast: false
matrix:
python-version: ['3.8']
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install .
pip install matplotlib
- name: List of installed packages
run: |
pip list
- name: Lint with flake8 (sytax errors and undefined names)
continue-on-error: true
run: |
# stop the build if there are Python syntax errors or undefined names (omitted by exit-zero)
flake8 . --count --exit-zero --select=E9,F63,F7,F82 --show-source --statistics
- name: Lint with flake8 (all errors and warnings)
run: |
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics