Support .NET Framework 4.6.1 #1703
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Main | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| jobs: | |
| build-test: | |
| name: Build and Test | |
| runs-on: ${{ matrix.os.instance }} | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - category: windows | |
| platform: x86 | |
| instance: windows-latest | |
| suffix: -windows-x86-none | |
| - category: windows | |
| platform: x64 | |
| instance: windows-latest | |
| suffix: -windows-x86_64-none | |
| - category: ubuntu | |
| platform: x64 | |
| instance: ubuntu-22.04 | |
| suffix: "" | |
| - category: ubuntu | |
| platform: arm64 | |
| instance: ubuntu-22.04-arm | |
| suffix: "" | |
| - category: macos | |
| platform: x64 | |
| instance: macos-15 | |
| suffix: -macos-x86_64-none | |
| - category: macos | |
| platform: arm64 | |
| instance: macos-15 | |
| suffix: -macos-aarch64-none | |
| python: ["3.10", "3.11", "3.12", "3.13", "3.14"] | |
| exclude: | |
| # Fails with initfs_encoding error | |
| - os: | |
| category: windows | |
| platform: x86 | |
| python: "3.10" | |
| # Broken ctypes find_library | |
| - os: | |
| category: macos | |
| platform: arm64 | |
| python: '3.10' | |
| - os: | |
| category: macos | |
| platform: arm64 | |
| python: '3.11' | |
| - os: | |
| category: macos | |
| platform: arm64 | |
| python: '3.12' | |
| # Fails to find pytest | |
| - os: | |
| category: windows | |
| platform: x64 | |
| python: '3.10' | |
| # fails to call mono methods | |
| - os: | |
| category: windows | |
| platform: x86 | |
| python: '3.13' | |
| env: | |
| NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| # Use main until support for architecture lands | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@main | |
| with: | |
| dotnet-version: '10.0' | |
| architecture: ${{ matrix.os.platform }} | |
| - run: dotnet restore | |
| - name: Install Mono | |
| uses: ./.github/actions/install-mono | |
| with: | |
| arch: ${{ matrix.os.platform }} | |
| - name: Set up Python ${{ matrix.python }} | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: cpython-${{ matrix.python }}${{ matrix.os.suffix }} | |
| cache-python: true | |
| activate-environment: true | |
| enable-cache: true | |
| - name: Synchronize the virtual environment | |
| run: uv sync --managed-python | |
| - name: Embedding tests (Mono/.NET Framework) | |
| if: always() | |
| run: dotnet test --runtime any-${{ matrix.os.platform }} --framework net472 --logger "console;verbosity=detailed" src/embed_tests/ | |
| env: | |
| MONO_THREADS_SUSPEND: preemptive # https://github.com/mono/mono/issues/21466 | |
| - name: Embedding tests (.NET Core) | |
| if: always() | |
| run: dotnet test --runtime any-${{ matrix.os.platform }} --framework net10.0 --logger "console;verbosity=detailed" src/embed_tests/ | |
| - name: Python Tests (.NET Core) | |
| if: always() | |
| run: pytest --runtime coreclr | |
| - name: Python Tests (Mono) | |
| if: always() | |
| run: pytest --runtime mono | |
| - name: Python Tests (.NET Framework) | |
| if: ${{ matrix.os.category == 'windows' }} | |
| run: pytest --runtime netfx | |
| - name: Python tests run from .NET | |
| run: dotnet test --runtime any-${{ matrix.os.platform }} src/python_tests_runner/ |