diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 84d3d8706..8137d0b0a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,18 +5,26 @@ on: [ pull_request, push ] jobs: build-test: name: Build and Test - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }}-latest strategy: fail-fast: false matrix: + os: [windows, ubuntu, macos] python: [3.6, 3.7, 3.8, 3.9] + platform: [x64] shutdown_mode: [Normal, Soft] env: PYTHONNET_SHUTDOWN_MODE: ${{ matrix.SHUTDOWN_MODE }} steps: + - name: Set Environment on macOS + uses: maxim-lobanov/setup-xamarin@v1 + if: ${{ matrix.os == 'macos' }} + with: + mono-version: latest + - name: Checkout code uses: actions/checkout@v2 @@ -27,6 +35,7 @@ jobs: uses: actions/setup-python@v2 with: python-version: ${{ matrix.python }} + architecture: ${{ matrix.platform }} - name: Install dependencies run: | @@ -41,8 +50,8 @@ jobs: run: pytest - name: Run Embedding tests - run: dotnet test src/embed_tests/ + run: dotnet test --runtime any-${{ matrix.platform }} src/embed_tests/ + if: ${{ matrix.os != 'macos' }} # Not working right now, doesn't find libpython # TODO: Run perf tests - # TODO: Run tests on macos and windows as well - # TODO: Run tests on Windows on .NET Framework + # TODO: Run mono tests on Windows?