-
-
Notifications
You must be signed in to change notification settings - Fork 69
103 lines (97 loc) · 3.09 KB
/
tests.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
name: Tests
on:
push:
branches:
- master
pull_request:
branches:
- "*"
defaults:
run:
shell: bash -l {0}
jobs:
run:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
py_ver: ["3.10", "3.11", "3.12"]
env:
OS: ${{ matrix.os }}
PYTHON: ${{ matrix.py_ver }}
steps:
- uses: actions/checkout@master
- uses: mamba-org/setup-micromamba@v1
with:
####
# https://github.com/mamba-org/setup-micromamba/issues/225
micromamba-version: 1.5.10-0
micromamba-binary-path: /home/runner/micromamba-bin-versioned/micromamba
####
environment-file: environment.yaml
# Added an extra python to the create-args in order to bust the cache:
create-args: >-
python=${{ matrix.py_ver }}
python
cache-environment: true
- name: Install conda-recipe-manager if possible
# Possible when the Python version is >=3.11
run: |
if [ $(python -c "import sys; print(sys.version_info[:2] >= (3,11))") = "True" ]; then
echo "Installing conda-recipe-manager"
micromamba install -y -c conda-forge conda-recipe-manager
else
echo "Skipping conda-recipe-manager installation"
fi
- name: Conda info
run: |
conda info --all
conda list
- name: Running doctests
run: |
pytest grayskull \
-vv \
-n 0 \
--color=yes \
--cov=./ \
--cov-append \
--cov-report html:coverage-serial-html \
--cov-report xml:coverage-serial.xml \
--cov-config=.coveragerc \
--junit-xml=Linux-py${{ matrix.py_ver }}-serial.xml \
--junit-prefix=Linux-py${{ matrix.py_ver }}-serial
- name: Running serial tests
run: |
pytest tests \
-vv \
-n 0 \
-m "serial" \
--color=yes \
--cov=./ \
--cov-append \
--cov-report html:coverage-serial-html \
--cov-report xml:coverage-serial.xml \
--cov-config=.coveragerc \
--junit-xml=Linux-py${{ matrix.py_ver }}-serial.xml \
--junit-prefix=Linux-py${{ matrix.py_ver }}-serial
- name: Running parallel tests
run: |
pytest tests \
-vv \
-n 0 \
-m "not serial" \
--color=yes \
--cov=./ \
--cov-append \
--cov-report html:coverage-parallel-html \
--cov-report xml:coverage-parallel.xml \
--cov-config=.coveragerc \
--junit-xml=Linux-py${{ matrix.py_ver }}-parallel.xml \
--junit-prefix=Linux-py${{ matrix.py_ver }}-parallel
- name: Upload coverage to Codecov
uses: codecov/[email protected]
with:
files: ./coverage-serial.xml,./coverage-parallel.xml
directory: .
flags: unittests