@@ -43,45 +43,61 @@ jobs: |
43 | 43 | - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 |
44 | 44 | with: |
45 | 45 | persist-credentials: false |
| 46 | + |
46 | 47 | - name: Set up Python ${{ matrix.python-version }} |
47 | 48 | uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 |
48 | 49 | with: |
49 | 50 | python-version: ${{ matrix.python-version }} |
50 | 51 | allow-prereleases: true |
| 52 | + |
51 | 53 | - name: Install Deno |
52 | 54 | uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2.0.4 |
53 | 55 | with: |
54 | 56 | deno-version: '2.3.0' # minimum supported version |
| 57 | + |
55 | 58 | - name: Install Bun |
56 | 59 | uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 |
57 | 60 | with: |
58 | 61 | bun-version: '1.2.11' # minimum supported version |
59 | 62 | no-cache: true |
| 63 | + |
60 | 64 | - name: Install Node |
61 | 65 | uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 |
62 | 66 | with: |
63 | 67 | node-version: '22.0' # minimum supported version |
| 68 | + |
64 | 69 | - name: Install QuickJS (Linux) |
65 | 70 | if: matrix.os == 'ubuntu-latest' |
66 | 71 | shell: bash |
67 | 72 | run: | |
68 | | - wget "https://bellard.org/quickjs/binary_releases/quickjs-linux-x86_64-${QJS_VERSION}.zip" -O quickjs.zip |
69 | | - unzip quickjs.zip qjs |
70 | | - sudo install qjs /usr/local/bin/qjs |
| 73 | + wget "https://bellard.org/quickjs/binary_releases/quickjs-linux-x86_64-${QJS_VERSION}.zip" -O quickjs.zip |
| 74 | + unzip quickjs.zip qjs |
| 75 | + sudo install qjs /usr/local/bin/qjs |
| 76 | +
|
71 | 77 | - name: Install QuickJS (Windows) |
72 | 78 | if: matrix.os == 'windows-latest' |
73 | 79 | shell: pwsh |
74 | 80 | run: | |
75 | | - $ErrorActionPreference = "Stop" |
76 | | - $PSNativeCommandUseErrorActionPreference = $true |
77 | | - Invoke-WebRequest "https://bellard.org/quickjs/binary_releases/quickjs-win-x86_64-${Env:QJS_VERSION}.zip" -OutFile quickjs.zip |
78 | | - unzip quickjs.zip |
79 | | - - name: Install test requirements |
80 | | - shell: bash |
| 81 | + $ErrorActionPreference = "Stop" |
| 82 | + $PSNativeCommandUseErrorActionPreference = $true |
| 83 | + Invoke-WebRequest "https://bellard.org/quickjs/binary_releases/quickjs-win-x86_64-${Env:QJS_VERSION}.zip" -OutFile quickjs.zip |
| 84 | + unzip quickjs.zip |
| 85 | +
|
| 86 | + - name: Install test requirements (cpython) |
| 87 | + if: ${{ !startsWith(matrix.python-version, 'pypy') }} |
81 | 88 | run: | |
82 | 89 | python -m pip install -U --require-hashes -r "bundle/requirements/pip.txt" |
83 | 90 | python -m pip install -U --require-hashes -r "bundle/requirements/test.txt" |
84 | 91 | python -m pip install -U --require-hashes -r "bundle/requirements/default.txt" |
| 92 | +
|
| 93 | + - name: Install test requirements (PyPy) |
| 94 | + if: ${{ startsWith(matrix.python-version, 'pypy') }} |
| 95 | + run: | |
| 96 | + # Upgrading/downgrading pip on Windows with actions/setup-python's PyPy can cause breakage |
| 97 | + # See https://github.com/actions/setup-python/issues/1348 |
| 98 | + python -m pip install -U --require-hashes -r "bundle/requirements/test.txt" |
| 99 | + python -m pip install -U --require-hashes -r "bundle/requirements/default.txt" |
| 100 | +
|
85 | 101 | - name: Run tests |
86 | 102 | timeout-minutes: 15 |
87 | 103 | shell: bash |
|