actions / setup-python

Set up your GitHub Actions workflow with a specific version of Python
MIT License
1.74k stars 551 forks source link

PyPy3.10 is v7.3.16 not the latest v7.3.17 #936

Closed hugovk closed 2 months ago

hugovk commented 2 months ago

Description: A clear and concise description of what the bug is.

PyPy3.10 v7.3.17 was released last week on 22024-08-28:

This release also dropped PyPy3.9 (PyPy3.8 was dropped earlier).

pypy3.10 from this action still installs v7.3.16.

Action version: Specify the action version

Platform:

Runner type:

Tools version:

Repro steps:
A description with steps to reproduce the issue. If your have a public example or repo to share, please provide the link.

name: Test

on: [push, pull_request, workflow_dispatch]

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ windows-latest, macOS-latest, ubuntu-latest]

    steps:
      - uses: actions/checkout@v4
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v5
        with:
          python-version: pypy3.10
      - run: python --version --version

https://github.com/hugovk/test/blob/pypy3.10/.github/workflows/test.yml https://github.com/hugovk/test/actions/runs/10661800324

Expected behavior:

Installs PyPy3.10 7.3.17

Actual behavior:

python --version --version gives on the three operating systems:

Python 3.10.14 (75b3de9d9035, Apr 21 2024, 13:13:38)
[PyPy 7.3.16 with MSC v.1929 64 bit (AMD64)]
Python 3.10.14 (39dc8d3c85a7, Aug 27 2024, 20:40:24)
[PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]
Python 3.10.14 (75b3de9d9035, Apr 21 2024, 10:54:48)
[PyPy 7.3.16 with GCC 10.2.1 20210130 (Red Hat 10.2.1-11)]
gowridurgad commented 2 months ago

Hello @hugovk , Thank you for creating this issue. We will investigate it and provide feedback as soon as we have some updates.

mattip commented 2 months ago

I think it is because the default behavior is check-latest: false. If you toggle the value to true does the latest get pulled into the image?

hugovk commented 2 months ago

Yes, it does!

So it sounds like this is working as expected, and it will soon be cached and available without check-latest?

mattip commented 2 months ago

As I understand it, the cache is local to your workflow. So you can

You will have to do that for every release of PyPy/CPython. Or you could leave the value at true and slow things down a bit for the check.

mahalakshmi-rekadi commented 2 months ago

Hello @hugovk , When you run the workflow, it used an older image version that included PyPy 7.3.16. The image has since been upgraded to include PyPy 7.3.17. Running the workflow now will use the latest PyPy version 7.3.17 on all supported platforms (Windows, macOS, Ubuntu).

For reference, you may visit: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md

The python --version --version command outputs the following on the three operating systems:

macOs: Python 3.10.14 (39dc8d3c85a7, Aug 27 2024, 20:40:24) [PyPy 7.3.17 with GCC Apple LLVM 15.0.0 (clang-1500.3.9.4)]

Windows: Python 3.10.14 (39dc8d3c85a7, Aug 27 2024, 14:33:33) [PyPy 7.3.17 with MSC v.1929 64 bit (AMD64)]

Ubuntu: Python 3.10.14 (39dc8d3c85a7, Aug 27 2024, 14:32:27) [PyPy 7.3.17 with GCC 10.2.1 20210130 (Red Hat 10.2.1-11)]

Screenshot 2024-09-10 at 7 22 06 PM Screenshot 2024-09-10 at 7 23 52 PM Screenshot 2024-09-10 at 7 24 57 PM
hugovk commented 2 months ago

Thanks all for your help!