diff --git a/.github/workflows/e2e-cache.yml b/.github/workflows/e2e-cache.yml index 0c73a0b0..a1cd4b04 100644 --- a/.github/workflows/e2e-cache.yml +++ b/.github/workflows/e2e-cache.yml @@ -21,8 +21,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.9', 'pypy-3.9-v7.x'] + os: [ubuntu-latest, windows-latest, macos-latest, macos-13] + python-version: ['3.10', 'pypy-3.10-v7.x', '3.9', 'pypy-3.9-v7.x'] steps: - uses: actions/checkout@v4 - name: Setup Python @@ -39,8 +39,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.9', 'pypy-3.9-v7.x'] + os: [ubuntu-latest, windows-latest, macos-latest, macos-13] + python-version: ['3.10', 'pypy-3.10-v7.x', '3.9', 'pypy-3.9-v7.x'] steps: - uses: actions/checkout@v4 - name: Setup Python @@ -75,8 +75,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.9', 'pypy-3.9'] + os: [ubuntu-latest, windows-latest, macos-latest, macos-13] + python-version: ['3.10', 'pypy-3.10', '3.9', 'pypy-3.9-v7.x'] steps: - uses: actions/checkout@v4 - name: Install poetry @@ -97,8 +97,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.9', 'pypy-3.9-v7.x'] + os: [ubuntu-latest, windows-latest, macos-latest, macos-13] + python-version: ['3.10', 'pypy-3.10-v7.x', '3.9', 'pypy-3.9-v7.x'] steps: - uses: actions/checkout@v4 - name: Setup Python @@ -116,8 +116,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.9', 'pypy-3.9-v7.x'] + os: [ubuntu-latest, windows-latest, macos-latest, macos-13] + python-version: ['3.10', 'pypy-3.10-v7.x', '3.9', 'pypy-3.9-v7.x'] steps: - uses: actions/checkout@v4 - name: Setup Python diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index a14739de..b216d1d4 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -12,30 +12,59 @@ on: workflow_dispatch: jobs: + test-setup-python-older: + name: Test setup-python old versions + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: + [ + ubuntu-20.04, + ubuntu-22.04, + ubuntu-latest, + windows-latest, + macos-latest, + macos-13 + ] + python: [3.8.10, 3.8.18] + exclude: + - os: ubuntu-22.04 + python: '3.8.10' + - os: ubuntu-latest + python: '3.8.10' + - os: macos-latest + python: '3.8.18' + - os: windows-latest + python: '3.8.18' + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Run with setup-python ${{ matrix.python }} + id: setup-python + uses: ./ + with: + python-version: ${{ matrix.python }} + - name: Verify ${{ matrix.python }} + run: python __tests__/verify-python.py ${{ matrix.python }} test-setup-python: name: Test setup-python runs-on: ${{ matrix.operating-system }} strategy: matrix: - operating-system: [ubuntu-20.04, windows-latest] + operating-system: + [ + ubuntu-20.04, + ubuntu-22.04, + ubuntu-latest, + windows-latest, + macos-latest, + macos-13 + ] steps: - name: Checkout uses: actions/checkout@v4 - - name: Run with setup-python 3.8 - uses: ./ - with: - python-version: 3.8 - - name: Verify 3.8 - run: python __tests__/verify-python.py 3.8 - - - name: Run with setup-python 3.8.10 - uses: ./ - with: - python-version: 3.8.10 - - name: Verify 3.8.10 - run: python __tests__/verify-python.py 3.8.10 - - name: Run with setup-python 3.9.13 uses: ./ with: @@ -43,7 +72,7 @@ jobs: - name: Verify 3.9.13 run: python __tests__/verify-python.py 3.9.13 - - name: Run with setup-python 3.9.13 + - name: Run with setup-python 3.10.11 uses: ./ with: python-version: 3.10.11 @@ -57,36 +86,43 @@ jobs: - name: Verify 3.11.9 run: python __tests__/verify-python.py 3.11.9 - - name: Run with setup-python 3.12.4 + - name: Run with setup-python 3.12.7 uses: ./ with: - python-version: 3.12.4 - - name: Verify 3.12.4 - run: python __tests__/verify-python.py 3.12.4 + python-version: 3.12.7 + - name: Verify 3.12.7 + run: python __tests__/verify-python.py 3.12.7 - - name: Run with setup-python 3.10 - id: cp310 + - name: Run with setup-python 3.13.0 uses: ./ with: - python-version: '3.10' - - name: Verify 3.10 - run: python __tests__/verify-python.py 3.10 - - name: Run python-path sample 3.10 - run: pipx run --python '${{ steps.cp310.outputs.python-path }}' nox --version + python-version: 3.13.0 + - name: Verify 3.13.0 + run: python __tests__/verify-python.py 3.13.0 - - name: Run with setup-python ==3.8 + - name: Run with setup-python 3.13 + id: cp313 uses: ./ with: - python-version: '==3.8' - - name: Verify ==3.8 - run: python __tests__/verify-python.py 3.8 + python-version: '3.13' + - name: Verify 3.13 + run: python __tests__/verify-python.py 3.13 + - name: Run python-path sample 3.13 + run: pipx run --python '${{ steps.cp313.outputs.python-path }}' nox --version - - name: Run with setup-python <3.11 + - name: Run with setup-python ==3.13 uses: ./ with: - python-version: '<3.11' - - name: Verify <3.11 - run: python __tests__/verify-python.py 3.10 + python-version: '==3.13' + - name: Verify ==3.13 + run: python __tests__/verify-python.py 3.13 + + - name: Run with setup-python <3.13 + uses: ./ + with: + python-version: '<3.13' + - name: Verify <3.13 + run: python __tests__/verify-python.py 3.12 - name: Test Raw Endpoint Access run: | curl -L https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json | jq empty diff --git a/.github/workflows/release-new-action-version.yml b/.github/workflows/release-new-action-version.yml index d8171ef8..7e5de347 100644 --- a/.github/workflows/release-new-action-version.yml +++ b/.github/workflows/release-new-action-version.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Update the ${{ env.TAG_NAME }} tag - uses: actions/publish-action@v0.2.2 + uses: actions/publish-action@v0.3.0 with: source-tag: ${{ env.TAG_NAME }} slack-webhook: ${{ secrets.SLACK_WEBHOOK }} diff --git a/.github/workflows/test-graalpy.yml b/.github/workflows/test-graalpy.yml index fe8f497e..35a74f87 100644 --- a/.github/workflows/test-graalpy.yml +++ b/.github/workflows/test-graalpy.yml @@ -18,11 +18,12 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, ubuntu-20.04, ubuntu-latest] + os: [ubuntu-20.04, ubuntu-22.04, ubuntu-latest, macos-latest, macos-13] graalpy: + - 'graalpy-24.1' + - 'graalpy-23.1' - 'graalpy-23.0' - 'graalpy-22.3' - steps: - name: Checkout uses: actions/checkout@v4 @@ -63,8 +64,8 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, ubuntu-20.04, ubuntu-latest] - graalpy: ['graalpy23.0', 'graalpy22.3'] + os: [ubuntu-20.04, ubuntu-22.04, ubuntu-latest, macos-latest, macos-13] + graalpy: ['graalpy24.1', 'graalpy23.1', 'graalpy23.0', 'graalpy22.3'] steps: - name: Checkout @@ -88,14 +89,14 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest] + os: [ubuntu-20.04, ubuntu-22.04, ubuntu-latest, macos-latest, macos-13] steps: - uses: actions/checkout@v4 - name: Setup GraalPy and check latest uses: ./ id: graalpy with: - python-version: 'graalpy-23.x' + python-version: 'graalpy-24.x' check-latest: true - name: GraalPy and Python version run: python --version diff --git a/.github/workflows/test-pypy.yml b/.github/workflows/test-pypy.yml index 355bc232..2562b5fc 100644 --- a/.github/workflows/test-pypy.yml +++ b/.github/workflows/test-pypy.yml @@ -20,7 +20,15 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-20.04, ubuntu-latest] + os: + [ + ubuntu-20.04, + ubuntu-22.04, + ubuntu-latest, + windows-latest, + macos-latest, + macos-13 + ] pypy: - 'pypy-2.7' - 'pypy-3.10' @@ -74,7 +82,7 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-20.04, ubuntu-latest] + os: [ubuntu-latest, windows-latest, macos-latest, macos-13] pypy: ['pypy2.7', 'pypy3.9', 'pypy3.10-nightly'] steps: @@ -99,7 +107,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest, macos-latest, macos-13] steps: - uses: actions/checkout@v4 - name: Setup PyPy and check latest @@ -132,7 +140,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: [ubuntu-latest, windows-latest, macos-latest, macos-13] steps: - uses: actions/checkout@v4 - name: Setup PyPy and check latest diff --git a/.github/workflows/test-python.yml b/.github/workflows/test-python.yml index c8aef26c..e6503c1d 100644 --- a/.github/workflows/test-python.yml +++ b/.github/workflows/test-python.yml @@ -20,11 +20,25 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-20.04, ubuntu-22.04] - python: [3.8.10, 3.9.13, 3.10.11, 3.11.9, 3.12.3] + os: + [ + ubuntu-20.04, + ubuntu-22.04, + ubuntu-latest, + windows-latest, + macos-latest, + macos-13 + ] + python: [3.8.10, 3.8.18, 3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.0] exclude: - os: ubuntu-22.04 - python: 3.8.10 + python: '3.8.10' + - os: ubuntu-latest + python: '3.8.10' + - os: macos-latest + python: '3.8.18' + - os: windows-latest + python: '3.8.18' steps: - name: Checkout uses: actions/checkout@v4 @@ -58,11 +72,25 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-20.04, ubuntu-22.04] - python: [3.8.10, 3.9.13, 3.10.11, 3.11.9, 3.12.3] + os: + [ + ubuntu-20.04, + ubuntu-22.04, + ubuntu-latest, + windows-latest, + macos-latest, + macos-13 + ] + python: [3.8.10, 3.8.18, 3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.0] exclude: - os: ubuntu-22.04 - python: 3.8.10 + python: '3.8.10' + - os: ubuntu-latest + python: '3.8.10' + - os: macos-latest + python: '3.8.18' + - os: windows-latest + python: '3.8.18' steps: - name: Checkout uses: actions/checkout@v4 @@ -99,11 +127,25 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-20.04, ubuntu-22.04] - python: [3.8.10, 3.9.13, 3.10.11, 3.11.9, 3.12.3] + os: + [ + ubuntu-20.04, + ubuntu-22.04, + ubuntu-latest, + windows-latest, + macos-latest, + macos-13 + ] + python: [3.8.10, 3.8.18, 3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.0] exclude: - os: ubuntu-22.04 - python: 3.8.10 + python: '3.8.10' + - os: ubuntu-latest + python: '3.8.10' + - os: macos-latest + python: '3.8.18' + - os: windows-latest + python: '3.8.18' steps: - name: Checkout uses: actions/checkout@v4 @@ -138,11 +180,25 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-20.04, ubuntu-22.04] - python: [3.8.10, 3.9.13, 3.10.11, 3.11.9, '==3.12.3'] + os: + [ + ubuntu-20.04, + ubuntu-22.04, + ubuntu-latest, + windows-latest, + macos-latest, + macos-13 + ] + python: [3.8.10, 3.8.18, 3.9.13, 3.10.11, 3.11.9, '==3.12.3', 3.13.0] exclude: - os: ubuntu-22.04 - python: 3.8.10 + python: '3.8.10' + - os: ubuntu-latest + python: '3.8.10' + - os: macos-latest + python: '3.8.18' + - os: windows-latest + python: '3.8.18' steps: - name: Checkout uses: actions/checkout@v4 @@ -182,11 +238,25 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-20.04, ubuntu-22.04] - python: [3.8.10, 3.9.13, 3.10.11, 3.11.9, 3.12.3] + os: + [ + ubuntu-20.04, + ubuntu-22.04, + ubuntu-latest, + windows-latest, + macos-latest, + macos-13 + ] + python: [3.8.10, 3.8.18, 3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.0] exclude: - os: ubuntu-22.04 - python: 3.8.10 + python: '3.8.10' + - os: ubuntu-latest + python: '3.8.10' + - os: macos-latest + python: '3.8.18' + - os: windows-latest + python: '3.8.18' steps: - name: Checkout uses: actions/checkout@v4 @@ -221,21 +291,29 @@ jobs: run: python -c 'import math; print(math.factorial(5))' setup-pre-release-version-from-manifest: - name: Setup 3.13.0-alpha.6 ${{ matrix.os }} + name: Setup 3.13.0-beta.1 ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-20.04, ubuntu-22.04] + os: + [ + ubuntu-20.04, + ubuntu-22.04, + ubuntu-latest, + windows-latest, + macos-latest, + macos-13 + ] steps: - name: Checkout uses: actions/checkout@v4 - - name: setup-python 3.13.0-alpha.6 + - name: setup-python 3.13.0-beta.1 id: setup-python uses: ./ with: - python-version: '3.13.0-alpha.6' + python-version: '3.13.0-beta.1' - name: Check python-path run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}' @@ -244,7 +322,7 @@ jobs: - name: Validate version run: | $pythonVersion = (python --version) - if ("Python 3.13.0a6" -ne "$pythonVersion"){ + if ("Python 3.13.0b1" -ne "$pythonVersion"){ Write-Host "The current version is $pythonVersion; expected version is 3.13.0a6" exit 1 } @@ -255,49 +333,49 @@ jobs: run: python -c 'import math; print(math.factorial(5))' setup-dev-version: - name: Setup 3.13-dev ${{ matrix.os }} + name: Setup 3.14-dev ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-latest] + os: [ubuntu-latest, ubuntu-22.04, ubuntu-20.04] steps: - name: Checkout uses: actions/checkout@v4 - - name: setup-python 3.13-dev + - name: setup-python 3.14-dev id: setup-python uses: ./ with: - python-version: '3.13-dev' + python-version: '3.14-dev' - name: Check python-path run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}' shell: bash - name: Validate version - run: ${{ startsWith(steps.setup-python.outputs.python-version, '3.13.') }} + run: ${{ startsWith(steps.setup-python.outputs.python-version, '3.14.') }} shell: bash - name: Run simple code run: python -c 'import math; print(math.factorial(5))' setup-prerelease-version: - name: Setup 3.13 ${{ matrix.os }} + name: Setup 3.14 ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-latest] + os: [ubuntu-latest, ubuntu-22.04, ubuntu-20.04] steps: - name: Checkout uses: actions/checkout@v4 - - name: setup-python 3.13 + - name: setup-python 3.14 id: setup-python uses: ./ with: - python-version: '3.13' + python-version: '3.14' allow-prereleases: true - name: Check python-path @@ -305,7 +383,7 @@ jobs: shell: bash - name: Validate version - run: ${{ startsWith(steps.setup-python.outputs.python-version, '3.13.') }} + run: ${{ startsWith(steps.setup-python.outputs.python-version, '3.14.') }} shell: bash - name: Run simple code @@ -317,8 +395,16 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-20.04, ubuntu-22.04] - python: ['3.8', '3.9', '3.10', '3.11', '3.12'] + os: + [ + ubuntu-20.04, + ubuntu-22.04, + ubuntu-latest, + windows-latest, + macos-latest, + macos-13 + ] + python: ['3.8', '3.9', '3.11', '3.12', '3.13'] steps: - name: Checkout uses: actions/checkout@v4 @@ -341,8 +427,31 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + os: + [ + ubuntu-20.04, + ubuntu-22.04, + ubuntu-latest, + windows-latest, + macos-latest, + macos-13 + ] + python: ['3.8', '3.9', '3.11', '3.12', '3.13'] + exclude: + - os: macos-latest + python: '3.8' + - os: windows-latest + python: '3.8' + - os: macos-latest + python: '3.9' + - os: windows-latest + python: '3.9' + - os: macos-latest + python: '3.11' + - os: macos-13 + python: '3.11' + - os: windows-latest + python: '3.11' steps: - uses: actions/checkout@v4 - name: Setup Python and check latest @@ -365,24 +474,29 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest] + os: + [ + ubuntu-latest, + windows-latest, + macos-latest, + macos-13, + ubuntu-20.04, + ubuntu-22.04 + ] steps: - uses: actions/checkout@v4 - name: Setup Python and check latest uses: ./ with: python-version: | - 3.8 - 3.9 - 3.10 - 3.11 3.12 + 3.13 check-latest: true - name: Validate version run: | $pythonVersion = (python --version) - if ("$pythonVersion" -NotMatch "3.12"){ - Write-Host "The current version is $pythonVersion; expected version is 3.12" + if ("$pythonVersion" -NotMatch "3.13"){ + Write-Host "The current version is $pythonVersion; expected version is 3.13" exit 1 } $pythonVersion