-
Notifications
You must be signed in to change notification settings - Fork 545
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The action doesn't work with ARC runners on arm64 #705
Comments
Hello @hussein-awala ! Thank you for reporting the issue, we will investigate it further and see what can be done :) |
Hello, I found the issue by both running in local
The version present in the manifest is just for darwin. A pull request is already open for this in python-version, so maybe we should try to tell them that some runners are available with arm64 and linux? |
arm64 runners are not required, because python can be cross-compiled from x86_64 to aarch64 |
Hmm. Just ran into this, ironically while trying to spin up our CI environment in arm64 in order to shake out recurrent arm-incompatibilities that have been creeping into our stacks. But...another turtle layer because I can't even get CI to run because it uses setup-python. Has anyone figured out a workaround (other than just using the environmental Python, which isn't an option because we need to verify interop with 3.8 --- not the default install on any modern container)? Presumably the obvious way would be to fork python-versions, have it build the necessary releases, then fork this project (which afaik we already did somewhere) and have it point at the forked python-versions releases. Quite a bit of work, so if anyone has a better option... |
Yep, we use the following workaround : - if: ${{ matrix.arch == 'arm64' }}
uses: deadsnakes/action@v2.1.1
with:
python-version: "3.11"
- if: ${{ matrix.arch == 'amd64' }}
uses: actions/setup-python@v4
with:
python-version: '3.11'
cache: 'pip' |
Thank you for that! It was a bit of a tussle to get the deadsnakes action to run in our environment (it uses |
* installing Python dependencies on runner breaks other dependencies (e.g. AWS-CLI) * run steps on Linux/amd64 until actions/setup-python#705 is resolved change-type: patch
* installing Python dependencies on runner breaks other dependencies (e.g. AWS-CLI) * run steps on Linux/amd64 until actions/setup-python#705 is resolved change-type: patch
* installing Python dependencies on runner breaks other dependencies (e.g. AWS-CLI) * run steps on Linux/amd64 until actions/setup-python#705 is resolved change-type: patch
* installing Python dependencies on runner breaks other dependencies (e.g. AWS-CLI) * run steps on Linux/amd64 until actions/setup-python#705 is resolved change-type: patch
Hello Everyone, The version-manifest.json file has been updated to include arm64 support for latest versions of Python >= 3.8. We are now proceeding to close this issue. Please feel free to reach out if any further concerns or clarifications are needed. |
Description:
I am currently in the process of migrating Apache Airflow CI to self-hosted runners running on a K8S cluster, which will be managed by an ARC. To set up the runners, I have opted to use the official Docker image
summerwind/actions-runner:v2.306.0-ubuntu-20.04
, and I have scheduled the pods on arm64 nodes.Unfortunately, during the setup, I encountered the following error:
To address this issue, I checked the versions manifest but did not find any file for the arm64 architecture with the platform set to ubuntu (btw it should be linux instead). It appears that all the arm64 files I found are for darwin, indicating that the action does not support arm64 on Linux:
After testing some of the suggested solutions in issue #162, such as providing the environment variables
AGENT_TOOLSDIRECTORY
andRUNNER_TOOL_CACHE
, it seems that they did not resolve the issue as expected.As a temporary workaround, I opted to remove all usages of the action and instead installed Python directly in the runner Docker image. This allowed me to proceed with some tests successfully. However, I still require the action to install a different Python version for specific tests.
Action version:
Specify the action version
Platform:
Runner type:
Tools version:
all the versions
Repro steps:
To reproduce it, you can use the action inside a docker container created from the image ``summerwind/actions-runner:v2.306.0-ubuntu-20.04` and running on linux with arch arm64.
Expected behavior:
There should be a Python version available for Linux with arm64 architecture, and the action should be able to detect that it's running on Linux platform instead of Ubuntu.
Actual behavior:
It's possible that the action is already capable of detecting that it's running on Linux, and the mention of Ubuntu in the log message might be simply informational. But the main problem is there is no available version for Ubuntu/Linux with arm64, and this blocks me to check if the second issue exists or not.
The text was updated successfully, but these errors were encountered: