diff --git a/.github/workflows/test-python.yml b/.github/workflows/test-python.yml index c8aef26cc..9328f5161 100644 --- a/.github/workflows/test-python.yml +++ b/.github/workflows/test-python.yml @@ -14,6 +14,32 @@ on: workflow_dispatch: jobs: + check-non-eol-available: # non EOL versions of python shall be available on all workers + name: non-eol ${{ matrix.python-version }} ${{ matrix.check-latest && 'latest' || '' }} ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + check-latest: [false, true] + os: [macos-12, macos-13, macos-14, windows-2019, windows-2022, ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, setup-actions-ubuntu-arm64-2-core, setup-actions-windows-arm64-4-core] + steps: + - uses: actions/checkout@v4 + - name: Setup Python ${{ matrix.check-latest && 'and check latest' || '' }} + uses: ./ + with: + python-version: ${{ matrix.python-version }} + check-latest: ${{ matrix.check-latest }} + - name: Validate version + run: | + $pythonVersion = (python --version) + if ("$pythonVersion" -NotMatch "${{ matrix.python-version }}"){ + Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python-version }}" + exit 1 + } + $pythonVersion + shell: pwsh + setup-versions-from-manifest: name: Setup ${{ matrix.python }} ${{ matrix.os }} runs-on: ${{ matrix.os }} @@ -336,30 +362,6 @@ jobs: - name: Run simple code run: ${{ steps.setup-python.outputs.python-path }} -c 'import math; print(math.factorial(5))' - check-latest: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] - steps: - - uses: actions/checkout@v4 - - name: Setup Python and check latest - uses: ./ - with: - python-version: ${{ matrix.python-version }} - check-latest: true - - name: Validate version - run: | - $pythonVersion = (python --version) - if ("$pythonVersion" -NotMatch "${{ matrix.python-version }}"){ - Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python-version }}" - exit 1 - } - $pythonVersion - shell: pwsh - setup-python-multiple-python-versions: runs-on: ${{ matrix.os }} strategy: