3
3
tests :
4
4
name : ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.version }}-python-${{ matrix.python-version }}-${{ matrix.castxml-epic }}
5
5
runs-on : ${{ matrix.os }}
6
-
6
+ defaults :
7
+ run :
8
+ shell : bash
7
9
strategy :
8
10
fail-fast : false
9
11
matrix :
64
66
castxml-epic : 0
65
67
cppstd : " -std=c++98"
66
68
69
+ - os : windows-latest
70
+ compiler : gcc
71
+ version : " 7"
72
+ python-version : 3.8
73
+ castxml : " castxml"
74
+ castxml-epic : 0
75
+ cppstd : " -std=c++98"
76
+
67
77
steps :
68
78
- uses : actions/checkout@v2
69
79
- name : Set up Python ${{ matrix.python-version }}
@@ -80,18 +90,30 @@ jobs:
80
90
if : matrix.os == 'macos-latest'
81
91
run : |
82
92
wget -q -O - https://data.kitware.com/api/v1/file/hashsum/sha512/5d937e938f7b882a3a3e7941e68f8312d0898aaf2082e00003dd362b1ba70b98b0a08706a1be28e71652a6a0f1e66f89768b5eaa20e5a100592d5b3deefec3f0/download | tar zxf - -C ~/
93
+ - name : Setup castxml for Windows
94
+ if : matrix.os == 'windows-latest'
95
+ run : |
96
+ curl https://data.kitware.com/api/v1/file/hashsum/sha512/bdd1e2c3b203019f758681067bb4dd68cb37abc930fee6b4b5d181bd805236352f888d061f32c7f93bde2eac2caa1265b93bbccff6656f98989dafd08f55847b/download --output C:\castxml.zip
83
97
- name : Setup castxml config
84
- if : matrix.compiler == 'gcc' && matrix.version == '7'
98
+ if : matrix.compiler == 'gcc' && matrix.version == '7' && matrix.os != 'windows-latest'
85
99
run : mv unittests/configs/gcc7.cfg unittests/xml_generator.cfg;
86
100
- name : Install Python lib and test libs
87
101
run : |
88
102
pip install .[test]
89
- - name : Run tests
103
+ - name : Run tests for Mac and Linux
104
+ if : matrix.os == 'macos-latest' || matrix.os == 'ubuntu-18.04'
90
105
run : |
91
106
export PATH=~/castxml/bin:$PATH
92
107
coverage run -m unittests.test_all
93
108
coverage combine
94
109
coverage xml
110
+ - name : Run tests for Windows
111
+ if : matrix.os == 'windows-latest'
112
+ run : |
113
+ export PATH=C:\castxml\bin;$PATH
114
+ coverage run -m unittests.test_all
115
+ coverage combine
116
+ coverage xml
95
117
- name : Upload coverage to Codecov
96
118
uses : codecov/codecov-action@v1
97
119
with :
0 commit comments