actions / setup-python

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

Slow download #837

Closed ahmadalwareh closed 4 months ago

ahmadalwareh commented 6 months ago

Description: Using this action multiple times repeatedly becomes slow while receiving data from GitHub

Action Version: v5 v4

Platform:

Runner type:

Tools version:

Python version 3.11.8

Repro steps:
I've multiple six workflow runners who need to work together and the first three download and set up the Python is 30-40 seconds but the others become slow and take minutes -around 5-10 mins- and the transmitting becomes slow at 1MB/sec

Expected behavior: Setup Python in seconds even if I'm downloading using multiple workflows at the same time

Actual behavior: Slow download

aparnajyothi-y commented 6 months ago

Hello @ahmadalwareh, Thank you for creating this issue and we will look into it :)

priyagupta108 commented 5 months ago

Hi @ahmadalwareh đź‘‹ , Thank you for your report. The performance of actions/setup-python action on your self-hosted runners can be influenced by a few key factors:

Additionally, the setup-python action caches the initially installed Python version on your runner for future use. In subsequent runs with the identical Python version, the action retrieves the cached version, bypassing the installation process and speeding up execution as no further downloads are necessary. Please review these aspects on your self-hosted runner. If the issue persists, kindly provide us with more detailed logs or a public repository to facilitate further investigation.

priyagupta108 commented 5 months ago

Hello @ahmadalwareh, just a gentle ping regarding this issue. Could you please share any updates when you have a moment? Thank you in advance.

ahmadalwareh commented 4 months ago

Sorry for the late reply, I worked on the suggestion provided here and reconfigured my runner because I forgot to add the RUNNER_TOOL_CACHE environment variable. after that, the download barely took 2 seconds. Thanks!