forked from pythonnet/pythonnet
-
Notifications
You must be signed in to change notification settings - Fork 1
69 lines (57 loc) · 1.89 KB
/
main.yml
File metadata and controls
69 lines (57 loc) · 1.89 KB
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
name: GitHub Actions
on: [ pull_request, push ]
jobs:
build-test:
name: Build and Test
runs-on: ubuntu-16.04
strategy:
matrix:
python: [3.6,3.7,3.8,3.9]
shutdown_mode: [Normal,Soft]
toolset: [Mono,.NET]
include:
- toolset: .NET
BUILD_OPTS: --xplat
RUN_TESTS: dotnet
EMBED_TESTS_PATH: netcoreapp3.1_publish/
PERF_TESTS_PATH: net461/
- toolset: Mono
BUILD_OPTS: ""
RUN_TESTS: "mono ./packages/NUnit.*/tools/nunit3-console.exe"
EMBED_TESTS_PATH: ""
PERF_TESTS_PATH: ""
env:
BUILD_OPTS: ${{ matrix.BUILD_OPTS }}
RUN_TESTS: ${{ matrix.RUN_TESTS }}
EMBED_TESTS_PATH: ${{ matrix.EMBED_TESTS_PATH }}
PERF_TESTS_PATH: ${{ matrix.PERF_TESTS_PATH }}
PYTHONNET_SHUTDOWN_MODE: ${{ matrix.SHUTDOWN_MODE }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install Mono
if: ${{ matrix.toolset == 'Mono' }}
run: |
sudo apt update
sudo apt install mono-devel ca-certificates-mono -y
- name: Install .NET
if: ${{ matrix.toolset == '.NET' }}
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.x
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: |
pip install --upgrade setuptools # TEMP - due to setuptools 36.2.0 bug
pip install --upgrade -r requirements.txt
- name: Install
run: |
echo $BUILD_OPTS
python setup.py install $BUILD_OPTS
- name: Python Tests
run: pytest
- name: .NET Tests
run: $RUN_TESTS src/embed_tests/bin/$EMBED_TESTS_PATH/Python.EmbeddingTest.dll --labels=All