@@ -5,18 +5,26 @@ on: [ pull_request, push ]
5
5
jobs :
6
6
build-test :
7
7
name :Build and Test
8
- runs-on :ubuntu -latest
8
+ runs-on :${{ matrix.os }} -latest
9
9
10
10
strategy :
11
11
fail-fast :false
12
12
matrix :
13
+ os :[windows, ubuntu, macos]
13
14
python :[3.6, 3.7, 3.8, 3.9]
15
+ platform :[x64]
14
16
shutdown_mode :[Normal, Soft]
15
17
16
18
env :
17
19
PYTHONNET_SHUTDOWN_MODE :${{ matrix.SHUTDOWN_MODE }}
18
20
19
21
steps :
22
+ -name :Set Environment on macOS
23
+ uses :maxim-lobanov/setup-xamarin@v1
24
+ if :${{ matrix.os == 'macos' }}
25
+ with :
26
+ mono-version :latest
27
+
20
28
-name :Checkout code
21
29
uses :actions/checkout@v2
22
30
27
35
uses :actions/setup-python@v2
28
36
with :
29
37
python-version :${{ matrix.python }}
38
+ architecture :${{ matrix.platform }}
30
39
31
40
-name :Install dependencies
32
41
run :|
41
50
run :pytest
42
51
43
52
-name :Run Embedding tests
44
- run :dotnet test src/embed_tests/
53
+ run :dotnet test --runtime any-${{ matrix.platform }} src/embed_tests/
54
+ if :${{ matrix.os != 'macos' }} # Not working right now, doesn't find libpython
45
55
46
56
# TODO: Run perf tests
47
- # TODO: Run tests on macos and windows as well
48
- # TODO: Run tests on Windows on .NET Framework
57
+ # TODO: Run mono tests on Windows?