name: e2e tests on: push: branches: - main paths-ignore: - '**.md' pull_request: paths-ignore: - '**.md' workflow_dispatch: jobs: test-setup-python: name: Test setup-python runs-on: ${{ matrix.operating-system }} strategy: matrix: operating-system: [ windows-latest, ubuntu-22.04, ubuntu-22.04-arm, ubuntu-latest, ubuntu-24.04-arm, macos-latest, macos-13 ] steps: - name: Checkout uses: actions/checkout@v4 - name: Run with setup-python 3.9.13 uses: ./ with: python-version: 3.9.13 - name: Verify 3.9.13 run: python __tests__/verify-python.py 3.9.13 - name: Run with setup-python 3.10.11 uses: ./ with: python-version: 3.10.11 - name: Verify 3.10.11 run: python __tests__/verify-python.py 3.10.11 - name: Run with setup-python 3.11.9 uses: ./ with: python-version: 3.11.9 - name: Verify 3.11.9 run: python __tests__/verify-python.py 3.11.9 - name: Run with setup-python 3.12.7 uses: ./ with: 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.13.0 uses: ./ with: 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.13 id: cp313 uses: ./ with: 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.13 uses: ./ with: 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 shell: bash verify-windows-install-path: name: Verify Install Path (${{ matrix.os }}, ${{ matrix.arch }}, ${{ matrix.python }}, ${{ matrix.freethreaded }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [windows-latest, windows-11-arm] arch: [x64, arm64] python: [3.9, 3.10, 3.11, 3.12] freethreaded: [true, false] exclude: - os: windows-latest arch: arm64 - os: windows-latest python: 3.12 arch: arm64 freethreaded: false - os: windows-11-arm arch: arm64 python: 3.9 freethreaded: false - os: windows-11-arm arch: arm64 python: 3.10 freethreaded: false - os: windows-11-arm arch: x64 # prevent accidental mix steps: - uses: actions/checkout@v4 - name: Verify Windows Install Path shell: pwsh run: python __tests__/verify_windows_install_path.py ${{ matrix.arch }} ${{ matrix.freethreaded }}