setup-python/__tests__/utils.test.ts
John Wesley Walker III f4c5a1183d
Some checks failed
e2e-cache / Test pip (Python 3.9, macos-latest) (push) Waiting to run
e2e-cache / Test pip (Python pypy-3.9-v7.x, macos-latest) (push) Waiting to run
e2e-cache / Test pip (Python 3.9, ubuntu-latest) (push) Waiting to run
e2e-cache / Test pip (Python pypy-3.9-v7.x, ubuntu-latest) (push) Waiting to run
e2e-cache / Test pip (Python 3.9, windows-latest) (push) Waiting to run
e2e-cache / Test pip (Python pypy-3.9-v7.x, windows-latest) (push) Waiting to run
e2e-cache / Test poetry (Python pypy-3.9, ubuntu-latest) (push) Waiting to run
e2e-cache / Test poetry (Python 3.9, windows-latest) (push) Waiting to run
e2e-cache / Test poetry (Python pypy-3.9, windows-latest) (push) Waiting to run
e2e-cache / Test pip (Python 3.9, macos-latest, caching path) (push) Waiting to run
e2e-cache / Test pip (Python pypy-3.9-v7.x, macos-latest, caching path) (push) Waiting to run
e2e-cache / Test pip (Python 3.9, ubuntu-latest, caching path) (push) Waiting to run
e2e-cache / Test pip (Python pypy-3.9-v7.x, ubuntu-latest, caching path) (push) Waiting to run
e2e-cache / Test pip (Python 3.9, windows-latest, caching path) (push) Waiting to run
e2e-cache / Test pip (Python pypy-3.9-v7.x, windows-latest, caching path) (push) Waiting to run
Basic validation / Basic validation (push) Failing after 0s
e2e-cache / Test pipenv (Python pypy-3.9-v7.x, windows-latest, caching path) (push) Waiting to run
e2e-cache / Test pipenv (Python 3.9, macos-latest) (push) Waiting to run
e2e-cache / Test pipenv (Python pypy-3.9-v7.x, macos-latest) (push) Waiting to run
e2e-cache / Test pipenv (Python 3.9, ubuntu-latest) (push) Waiting to run
e2e-cache / Test pipenv (Python pypy-3.9-v7.x, ubuntu-latest) (push) Waiting to run
e2e-cache / Test pipenv (Python 3.9, windows-latest) (push) Waiting to run
e2e-cache / Test pipenv (Python pypy-3.9-v7.x, windows-latest) (push) Waiting to run
e2e-cache / Test poetry (Python 3.9, macos-latest) (push) Waiting to run
e2e-cache / Test poetry (Python pypy-3.9, macos-latest) (push) Waiting to run
e2e-cache / Test poetry (Python 3.9, ubuntu-latest) (push) Waiting to run
Check dist/ / Check dist/ (push) Failing after 1s
e2e-cache / Test pipenv (Python 3.9, macos-latest, caching path) (push) Waiting to run
e2e-cache / Test pipenv (Python pypy-3.9-v7.x, macos-latest, caching path) (push) Waiting to run
e2e-cache / Test pipenv (Python 3.9, ubuntu-latest, caching path) (push) Waiting to run
e2e-cache / Test pipenv (Python pypy-3.9-v7.x, ubuntu-latest, caching path) (push) Waiting to run
e2e-cache / Test pipenv (Python 3.9, windows-latest, caching path) (push) Waiting to run
e2e tests / Test setup-python (push) Waiting to run
Validate GraalPy e2e / Setup GraalPy graalpy-22.3 macos-latest (push) Waiting to run
Validate GraalPy e2e / Setup GraalPy graalpy-22.3 ubuntu-20.04 (push) Waiting to run
Validate GraalPy e2e / Setup GraalPy graalpy-22.3 ubuntu-latest (push) Waiting to run
Validate GraalPy e2e / Setup GraalPy graalpy-23.0 macos-latest (push) Waiting to run
Validate GraalPy e2e / Setup GraalPy graalpy-23.0 ubuntu-20.04 (push) Waiting to run
Validate GraalPy e2e / Setup GraalPy graalpy-23.0 ubuntu-latest (push) Waiting to run
Validate GraalPy e2e / Setup GraalPy graalpy22.3 macos-latest (noenv) (push) Waiting to run
Validate GraalPy e2e / Setup GraalPy graalpy22.3 ubuntu-20.04 (noenv) (push) Waiting to run
Validate GraalPy e2e / Setup GraalPy graalpy22.3 ubuntu-latest (noenv) (push) Waiting to run
Validate GraalPy e2e / Setup GraalPy graalpy23.0 macos-latest (noenv) (push) Waiting to run
Validate GraalPy e2e / Setup GraalPy graalpy23.0 ubuntu-20.04 (noenv) (push) Waiting to run
Validate GraalPy e2e / Setup GraalPy graalpy23.0 ubuntu-latest (noenv) (push) Waiting to run
Validate GraalPy e2e / check-latest (macos-latest) (push) Waiting to run
Validate GraalPy e2e / check-latest (ubuntu-latest) (push) Waiting to run
Validate PyPy e2e / setup-pypy-multiple-versions (macos-latest) (push) Waiting to run
Validate PyPy e2e / setup-pypy-multiple-versions (ubuntu-latest) (push) Waiting to run
Validate PyPy e2e / setup-pypy-multiple-versions (windows-latest) (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-2.7 macos-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-2.7-v7.3.12rc1 macos-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-2.7-v7.3.14 macos-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10 macos-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-nightly macos-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.3.14 macos-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.3.15 macos-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.3.x macos-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.x macos-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.10-v7.3.15 macos-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.9 macos-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-2.7 ubuntu-20.04 (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-2.7-v7.3.12rc1 ubuntu-20.04 (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-2.7-v7.3.14 ubuntu-20.04 (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10 ubuntu-20.04 (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-nightly ubuntu-20.04 (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.3.14 ubuntu-20.04 (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.3.15 ubuntu-20.04 (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.3.x ubuntu-20.04 (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.x ubuntu-20.04 (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.10-v7.3.15 ubuntu-20.04 (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.9 ubuntu-20.04 (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-2.7 ubuntu-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-2.7-v7.3.12rc1 ubuntu-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-2.7-v7.3.14 ubuntu-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10 ubuntu-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-nightly ubuntu-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.3.14 ubuntu-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.3.15 ubuntu-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.3.x ubuntu-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.x ubuntu-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.10-v7.3.15 ubuntu-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.9 ubuntu-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-2.7 windows-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-2.7-v7.3.12rc1 windows-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-2.7-v7.3.14 windows-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10 windows-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-nightly windows-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.3.14 windows-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.3.15 windows-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.3.x windows-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy-3.10-v7.x windows-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.10-v7.3.15 windows-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.9 windows-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy2.7 macos-latest (noenv) (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.10-nightly macos-latest (noenv) (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.9 macos-latest (noenv) (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy2.7 ubuntu-20.04 (noenv) (push) Waiting to run
CodeQL analysis / CodeQL analysis (push) Failing after 0s
Licensed / Licensed (push) Failing after 0s
Validate Python e2e / Setup 3.9.13 macos-latest (push) Waiting to run
Validate Python e2e / Setup 3.10.11 ubuntu-20.04 (push) Waiting to run
Validate Python e2e / Setup 3.13.0-alpha.6 macos-latest (push) Waiting to run
Validate Python e2e / Setup 3.13.0-alpha.6 ubuntu-20.04 (push) Waiting to run
Validate Python e2e / Setup 3.13.0-alpha.6 ubuntu-22.04 (push) Waiting to run
Validate Python e2e / Setup 3.13.0-alpha.6 windows-latest (push) Waiting to run
Validate Python e2e / Setup 3.13-dev macos-latest (push) Waiting to run
Validate Python e2e / Setup 3.13-dev ubuntu-latest (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.10-nightly ubuntu-20.04 (noenv) (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.9 ubuntu-20.04 (noenv) (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy2.7 ubuntu-latest (noenv) (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.10-nightly ubuntu-latest (noenv) (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.9 ubuntu-latest (noenv) (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy2.7 windows-latest (noenv) (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.10-nightly windows-latest (noenv) (push) Waiting to run
Validate PyPy e2e / Setup PyPy pypy3.9 windows-latest (noenv) (push) Waiting to run
Validate PyPy e2e / check-latest (macos-latest) (push) Waiting to run
Validate PyPy e2e / check-latest (ubuntu-latest) (push) Waiting to run
Validate PyPy e2e / check-latest (windows-latest) (push) Waiting to run
Validate Python e2e / Setup 3.11 macos-latest (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.10.11 macos-latest (push) Waiting to run
Validate Python e2e / Setup 3.11.9 macos-latest (push) Waiting to run
Validate Python e2e / Setup 3.12.3 macos-latest (push) Waiting to run
Validate Python e2e / Setup 3.8.10 macos-latest (push) Waiting to run
Validate Python e2e / Setup 3.11.9 ubuntu-20.04 (push) Waiting to run
Validate Python e2e / Setup 3.12.3 ubuntu-20.04 (push) Waiting to run
Validate Python e2e / Setup 3.8.10 ubuntu-20.04 (push) Waiting to run
Validate Python e2e / Setup 3.9.13 ubuntu-20.04 (push) Waiting to run
Validate Python e2e / Setup 3.10.11 ubuntu-22.04 (push) Waiting to run
Validate Python e2e / Setup 3.11.9 ubuntu-22.04 (push) Waiting to run
Validate Python e2e / Setup 3.12.3 ubuntu-22.04 (push) Waiting to run
Validate Python e2e / Setup 3.9.13 ubuntu-22.04 (push) Waiting to run
Validate Python e2e / Setup 3.10.11 windows-latest (push) Waiting to run
Validate Python e2e / Setup 3.11.9 windows-latest (push) Waiting to run
Validate Python e2e / Setup 3.12.3 windows-latest (push) Waiting to run
Validate Python e2e / Setup 3.8.10 windows-latest (push) Waiting to run
Validate Python e2e / Setup 3.9.13 windows-latest (push) Waiting to run
Validate Python e2e / Setup 3.10.11 macos-latest version file (push) Waiting to run
Validate Python e2e / Setup 3.11.9 macos-latest version file (push) Waiting to run
Validate Python e2e / Setup 3.12.3 macos-latest version file (push) Waiting to run
Validate Python e2e / Setup 3.8.10 macos-latest version file (push) Waiting to run
Validate Python e2e / Setup 3.9.13 macos-latest version file (push) Waiting to run
Validate Python e2e / Setup 3.10.11 ubuntu-20.04 version file (push) Waiting to run
Validate Python e2e / Setup 3.11.9 ubuntu-20.04 version file (push) Waiting to run
Validate Python e2e / Setup 3.12.3 ubuntu-20.04 version file (push) Waiting to run
Validate Python e2e / Setup 3.8.10 ubuntu-20.04 version file (push) Waiting to run
Validate Python e2e / Setup 3.9.13 ubuntu-20.04 version file (push) Waiting to run
Validate Python e2e / Setup 3.10.11 ubuntu-22.04 version file (push) Waiting to run
Validate Python e2e / Setup 3.11.9 ubuntu-22.04 version file (push) Waiting to run
Validate Python e2e / Setup 3.12.3 ubuntu-22.04 version file (push) Waiting to run
Validate Python e2e / Setup 3.9.13 ubuntu-22.04 version file (push) Waiting to run
Validate Python e2e / Setup 3.10.11 windows-latest version file (push) Waiting to run
Validate Python e2e / Setup 3.11.9 windows-latest version file (push) Waiting to run
Validate Python e2e / Setup 3.12.3 windows-latest version file (push) Waiting to run
Validate Python e2e / Setup 3.8.10 windows-latest version file (push) Waiting to run
Validate Python e2e / Setup 3.9.13 windows-latest version file (push) Waiting to run
Validate Python e2e / Setup 3.10.11 macos-latest version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.11.9 macos-latest version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.12.3 macos-latest version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.8.10 macos-latest version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.9.13 macos-latest version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.10.11 ubuntu-20.04 version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.11.9 ubuntu-20.04 version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.12.3 ubuntu-20.04 version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.8.10 ubuntu-20.04 version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.9.13 ubuntu-20.04 version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.10.11 ubuntu-22.04 version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.11.9 ubuntu-22.04 version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.12.3 ubuntu-22.04 version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.9.13 ubuntu-22.04 version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.10.11 windows-latest version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.11.9 windows-latest version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.12.3 windows-latest version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.8.10 windows-latest version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.9.13 windows-latest version file without parameter (push) Waiting to run
Validate Python e2e / Setup 3.10.11 macos-latest standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.11.9 macos-latest standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.8.10 macos-latest standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.9.13 macos-latest standard pyproject file (push) Waiting to run
Validate Python e2e / Setup ==3.12.3 macos-latest standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.10.11 ubuntu-20.04 standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.11.9 ubuntu-20.04 standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.8.10 ubuntu-20.04 standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.9.13 ubuntu-20.04 standard pyproject file (push) Waiting to run
Validate Python e2e / Setup ==3.12.3 ubuntu-20.04 standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.10.11 ubuntu-22.04 standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.11.9 ubuntu-22.04 standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.9.13 ubuntu-22.04 standard pyproject file (push) Waiting to run
Validate Python e2e / Setup ==3.12.3 ubuntu-22.04 standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.10.11 windows-latest standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.11.9 windows-latest standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.8.10 windows-latest standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.9.13 windows-latest standard pyproject file (push) Waiting to run
Validate Python e2e / Setup ==3.12.3 windows-latest standard pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.10.11 macos-latest poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.11.9 macos-latest poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.12.3 macos-latest poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.8.10 macos-latest poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.9.13 macos-latest poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.10.11 ubuntu-20.04 poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.11.9 ubuntu-20.04 poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.12.3 ubuntu-20.04 poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.8.10 ubuntu-20.04 poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.9.13 ubuntu-20.04 poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.10.11 ubuntu-22.04 poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.11.9 ubuntu-22.04 poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.12.3 ubuntu-22.04 poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.9.13 ubuntu-22.04 poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.10.11 windows-latest poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.11.9 windows-latest poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.12.3 windows-latest poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.8.10 windows-latest poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.9.13 windows-latest poetry pyproject file (push) Waiting to run
Validate Python e2e / Setup 3.13-dev windows-latest (push) Waiting to run
Validate Python e2e / Setup 3.13 macos-latest (push) Waiting to run
Validate Python e2e / Setup 3.13 ubuntu-latest (push) Waiting to run
Validate Python e2e / Setup 3.13 windows-latest (push) Waiting to run
Validate Python e2e / Setup 3.10 macos-latest (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.12 macos-latest (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.8 macos-latest (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.9 macos-latest (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.10 ubuntu-20.04 (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.11 ubuntu-20.04 (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.12 ubuntu-20.04 (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.8 ubuntu-20.04 (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.9 ubuntu-20.04 (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.10 ubuntu-22.04 (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.11 ubuntu-22.04 (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.12 ubuntu-22.04 (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.8 ubuntu-22.04 (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.9 ubuntu-22.04 (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.10 windows-latest (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.11 windows-latest (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.12 windows-latest (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.8 windows-latest (noenv) (push) Waiting to run
Validate Python e2e / Setup 3.9 windows-latest (noenv) (push) Waiting to run
Validate Python e2e / check-latest (macos-latest, 3.10) (push) Waiting to run
Validate Python e2e / check-latest (macos-latest, 3.11) (push) Waiting to run
Validate Python e2e / check-latest (macos-latest, 3.12) (push) Waiting to run
Validate Python e2e / check-latest (macos-latest, 3.8) (push) Waiting to run
Validate Python e2e / check-latest (macos-latest, 3.9) (push) Waiting to run
Validate Python e2e / check-latest (ubuntu-latest, 3.10) (push) Waiting to run
Validate Python e2e / check-latest (ubuntu-latest, 3.11) (push) Waiting to run
Validate Python e2e / check-latest (ubuntu-latest, 3.12) (push) Waiting to run
Validate Python e2e / check-latest (ubuntu-latest, 3.8) (push) Waiting to run
Validate Python e2e / check-latest (ubuntu-latest, 3.9) (push) Waiting to run
Validate Python e2e / check-latest (windows-latest, 3.10) (push) Waiting to run
Validate Python e2e / check-latest (windows-latest, 3.11) (push) Waiting to run
Validate Python e2e / check-latest (windows-latest, 3.12) (push) Waiting to run
Validate Python e2e / check-latest (windows-latest, 3.8) (push) Waiting to run
Validate Python e2e / check-latest (windows-latest, 3.9) (push) Waiting to run
Validate Python e2e / setup-python-multiple-python-versions (macos-latest) (push) Waiting to run
Validate Python e2e / setup-python-multiple-python-versions (ubuntu-latest) (push) Waiting to run
Validate Python e2e / setup-python-multiple-python-versions (windows-latest) (push) Waiting to run
Revise isGhes logic (#963)
* Revise `isGhes` logic

* ran `npm run format`

* add unit test

* ran `npm run format`
2024-10-21 11:42:17 -05:00

236 lines
7.8 KiB
TypeScript

import * as cache from '@actions/cache';
import * as core from '@actions/core';
import * as io from '@actions/io';
import fs from 'fs';
import path from 'path';
import {
validateVersion,
validatePythonVersionFormatForPyPy,
isCacheFeatureAvailable,
getVersionInputFromFile,
getVersionInputFromPlainFile,
getVersionInputFromTomlFile,
getNextPageUrl,
isGhes,
IS_WINDOWS,
getDownloadFileName
} from '../src/utils';
jest.mock('@actions/cache');
jest.mock('@actions/core');
describe('validatePythonVersionFormatForPyPy', () => {
it.each([
['3.6', true],
['3.7', true],
['3.6.x', false],
['3.7.x', false],
['3.x', false],
['3', false]
])('%s -> %s', (input, expected) => {
expect(validatePythonVersionFormatForPyPy(input)).toEqual(expected);
});
});
describe('validateVersion', () => {
it.each([
['v7.3.3', true],
['v7.3.x', true],
['v7.x', true],
['x', true],
['v7.3.3-rc.1', true],
['nightly', true],
['v7.3.b', false],
['3.6', true],
['3.b', false],
['3', true]
])('%s -> %s', (input, expected) => {
expect(validateVersion(input)).toEqual(expected);
});
});
describe('isCacheFeatureAvailable', () => {
it('isCacheFeatureAvailable disabled on GHES', () => {
jest.spyOn(cache, 'isFeatureAvailable').mockImplementation(() => false);
const infoMock = jest.spyOn(core, 'warning');
const message =
'Caching is only supported on GHES version >= 3.5. If you are on a version >= 3.5, please check with your GHES admin if the Actions cache service is enabled or not.';
try {
process.env['GITHUB_SERVER_URL'] = 'http://example.com';
expect(isCacheFeatureAvailable()).toBeFalsy();
expect(infoMock).toHaveBeenCalledWith(message);
} finally {
delete process.env['GITHUB_SERVER_URL'];
}
});
it('isCacheFeatureAvailable disabled on dotcom', () => {
jest.spyOn(cache, 'isFeatureAvailable').mockImplementation(() => false);
const infoMock = jest.spyOn(core, 'warning');
const message =
'The runner was not able to contact the cache service. Caching will be skipped';
try {
process.env['GITHUB_SERVER_URL'] = 'http://github.com';
expect(isCacheFeatureAvailable()).toBe(false);
expect(infoMock).toHaveBeenCalledWith(message);
} finally {
delete process.env['GITHUB_SERVER_URL'];
}
});
it('isCacheFeatureAvailable is enabled', () => {
jest.spyOn(cache, 'isFeatureAvailable').mockImplementation(() => true);
expect(isCacheFeatureAvailable()).toBe(true);
});
});
const tempDir = path.join(
__dirname,
'runner',
path.join(Math.random().toString(36).substring(7)),
'temp'
);
describe('Version from file test', () => {
it.each([getVersionInputFromPlainFile, getVersionInputFromFile])(
'Version from plain file test',
async _fn => {
await io.mkdirP(tempDir);
const pythonVersionFileName = 'python-version.file';
const pythonVersionFilePath = path.join(tempDir, pythonVersionFileName);
const pythonVersionFileContent = '3.7';
fs.writeFileSync(pythonVersionFilePath, pythonVersionFileContent);
expect(_fn(pythonVersionFilePath)).toEqual([pythonVersionFileContent]);
}
);
it.each([getVersionInputFromTomlFile, getVersionInputFromFile])(
'Version from standard pyproject.toml test',
async _fn => {
await io.mkdirP(tempDir);
const pythonVersionFileName = 'pyproject.toml';
const pythonVersionFilePath = path.join(tempDir, pythonVersionFileName);
const pythonVersion = '>=3.7.0';
const pythonVersionFileContent = `[project]\nrequires-python = "${pythonVersion}"`;
fs.writeFileSync(pythonVersionFilePath, pythonVersionFileContent);
expect(_fn(pythonVersionFilePath)).toEqual([pythonVersion]);
}
);
it.each([getVersionInputFromTomlFile, getVersionInputFromFile])(
'Version from poetry pyproject.toml test',
async _fn => {
await io.mkdirP(tempDir);
const pythonVersionFileName = 'pyproject.toml';
const pythonVersionFilePath = path.join(tempDir, pythonVersionFileName);
const pythonVersion = '>=3.7.0';
const pythonVersionFileContent = `[tool.poetry.dependencies]\npython = "${pythonVersion}"`;
fs.writeFileSync(pythonVersionFilePath, pythonVersionFileContent);
expect(_fn(pythonVersionFilePath)).toEqual([pythonVersion]);
}
);
it.each([getVersionInputFromTomlFile, getVersionInputFromFile])(
'Version undefined',
async _fn => {
await io.mkdirP(tempDir);
const pythonVersionFileName = 'pyproject.toml';
const pythonVersionFilePath = path.join(tempDir, pythonVersionFileName);
fs.writeFileSync(pythonVersionFilePath, ``);
expect(_fn(pythonVersionFilePath)).toEqual([]);
}
);
});
describe('getNextPageUrl', () => {
it('GitHub API pagination next page is parsed correctly', () => {
function generateResponse(link: string) {
return {
statusCode: 200,
result: null,
headers: {
link: link
}
};
}
const page1Links =
'<https://api.github.com/repositories/129883600/releases?page=2>; rel="next", <https://api.github.com/repositories/129883600/releases?page=3>; rel="last"';
expect(getNextPageUrl(generateResponse(page1Links))).toStrictEqual(
'https://api.github.com/repositories/129883600/releases?page=2'
);
const page2Links =
'<https://api.github.com/repositories/129883600/releases?page=1>; rel="prev", <https://api.github.com/repositories/129883600/releases?page=1>; rel="first"';
expect(getNextPageUrl(generateResponse(page2Links))).toBeNull();
});
});
describe('getDownloadFileName', () => {
const originalEnv = process.env;
const tempDir = path.join(__dirname, 'runner', 'temp');
beforeEach(() => {
process.env = {...originalEnv};
});
afterEach(() => {
process.env = originalEnv;
});
it('should return the correct path on Windows', () => {
if (IS_WINDOWS) {
process.env['RUNNER_TEMP'] = tempDir;
const downloadUrl =
'https://github.com/actions/sometool/releases/tag/1.2.3-20200402.6/sometool-1.2.3-win32-x64.zip';
const expectedPath = path.join(
process.env.RUNNER_TEMP,
path.basename(downloadUrl)
);
expect(getDownloadFileName(downloadUrl)).toBe(expectedPath);
}
});
it('should return undefined on non-Windows', () => {
if (!IS_WINDOWS) {
const downloadUrl =
'https://github.com/actions/sometool/releases/tag/1.2.3-20200402.6/sometool-1.2.3-linux-x64.tar.gz';
expect(getDownloadFileName(downloadUrl)).toBeUndefined();
}
});
});
describe('isGhes', () => {
const pristineEnv = process.env;
beforeEach(() => {
jest.resetModules();
process.env = {...pristineEnv};
});
afterAll(() => {
process.env = pristineEnv;
});
it('returns false when the GITHUB_SERVER_URL environment variable is not defined', async () => {
delete process.env['GITHUB_SERVER_URL'];
expect(isGhes()).toBeFalsy();
});
it('returns false when the GITHUB_SERVER_URL environment variable is set to github.com', async () => {
process.env['GITHUB_SERVER_URL'] = 'https://github.com';
expect(isGhes()).toBeFalsy();
});
it('returns false when the GITHUB_SERVER_URL environment variable is set to a GitHub Enterprise Cloud-style URL', async () => {
process.env['GITHUB_SERVER_URL'] = 'https://contoso.ghe.com';
expect(isGhes()).toBeFalsy();
});
it('returns false when the GITHUB_SERVER_URL environment variable has a .localhost suffix', async () => {
process.env['GITHUB_SERVER_URL'] = 'https://mock-github.localhost';
expect(isGhes()).toBeFalsy();
});
it('returns true when the GITHUB_SERVER_URL environment variable is set to some other URL', async () => {
process.env['GITHUB_SERVER_URL'] = 'https://src.onpremise.fabrikam.com';
expect(isGhes()).toBeTruthy();
});
});