Replies: 8 comments 1 reply
-
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
|
Parallel failures on custom Windows machines with multiple self-hosted runners are often due to race conditions or file locking when runners concurrently access the same tool cache.
|
Beta Was this translation helpful? Give feedback.
-
|
🕒 Discussion Activity Reminder 🕒 This Discussion has been labeled as dormant by an automated system for having no activity in the last 60 days. Please consider one the following actions: 1️⃣ Close as Out of Date: If the topic is no longer relevant, close the Discussion as 2️⃣ Provide More Information: Share additional details or context — or let the community know if you've found a solution on your own. 3️⃣ Mark a Reply as Answer: If your question has been answered by a reply, mark the most helpful reply as the solution. Note: This dormant notification will only apply to Discussions with the Thank you for helping bring this Discussion to a resolution! 💬 |
Beta Was this translation helpful? Give feedback.
-
|
Damn, This is a Race Condition caused by how When multiple workflows trigger at once, each runner instance tries to 'clean' or 'install' Python to the same shared directory and registry keys.
🛠 Recommended Solutions1. Pre-install Python on the Runner (Best for Stability)Since this is a self-hosted runner, you should manually install Python 3.14.2 on the host machine's OS. Once it is in the system PATH, remove the actions/setup-python step from your YAML.
2. Implement a Concurrency GroupForce the workflows to wait for each other so that only one runner handles the Python setup at a time. concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false
3. Use Unique Tool CachesIf you are running multiple runner services on the same machine, configure each runner with its own AGENT_TOOLSDIRECTORY.
|
Beta Was this translation helpful? Give feedback.
This comment was marked as low quality.
This comment was marked as low quality.
-
|
🕒 Discussion Activity Reminder 🕒 This Discussion has been labeled as dormant by an automated system for having no activity in the last 60 days. Please consider one the following actions: 1️⃣ Close as Out of Date: If the topic is no longer relevant, close the Discussion as 2️⃣ Provide More Information: Share additional details or context — or let the community know if you've found a solution on your own. 3️⃣ Mark a Reply as Answer: If your question has been answered by a reply, mark the most helpful reply as the solution. Note: This dormant notification will only apply to Discussions with the Thank you for helping bring this Discussion to a resolution! 💬 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Why are you starting this discussion?
Question
What GitHub Actions topic or product is this about?
Actions Runner
Discussion Details
Not sure if this is an actual bug or my mistake by misunderstanding.
Above yml is some minimal subset Python workflow examples that I am running. Doing
actions/checkout,actions/setup-pythonand do something likepre-commitorpython -m unittest.When I re-run individual task sequentially, this looks working. However, when I submit an empty commit to trigger multiple Python workflows at once, sometimes Python installation(
setup-pythonstage) fails with some logs like following:... and I cannot see what's exactly happened on error even with debug log enabled. I am giving administrator permission on each runner services.
My guess for why these error happening is that
setup-pythontries to manage some global values like registry keys, and when multiple runners try to manage same thing at same time, something goes wrong.Is there any guide for this, or is this a bug from
actions/setup-python?Beta Was this translation helpful? Give feedback.
All reactions