You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "sandeepgupta12 (via GitHub)" <gi...@apache.org> on 2025/01/28 14:32:49 UTC

Re: [I] [CI][Python][C++] Support on Power Architecture [arrow]

sandeepgupta12 commented on issue #43817:
URL: https://github.com/apache/arrow/issues/43817#issuecomment-2619171798

   Hi team,
   I wanted to share how the ephemeral self-hosted runner solution works for ppc64le builds, inspired by the approach used for s390x in Pytorch. Here’s a detailed overview:
   	**1. Infrastructure Setup:**
   		○ A self-hosted runner is deployed on an OSU-provided VM specifically for the ppc64le architecture.
   		○ The runner is configured to remain idle and is triggered only for specific events (e.g., commits to the main branch, pull requests affecting ppc64le-related code).
   	**2. Ephemeral Runner Inside a Container:**
   		○ The runner runs inside a container, ensuring complete isolation and consistency.
   		**○ Key Behavior:**
   			§ The runner is registered as an ephemeral runner in GitHub Actions.
   			§ Once a job is triggered, the runner performs the task.
   			§ After the job is completed, the container stops, the runner unregisters itself automatically, and the container is deleted.
   			§ For subsequent jobs, a new container is created with a clean environment, avoiding any conflicts from previous runs.
   			§ To manage the runner, the command systemctl enable --now actions-runner@$NAME ensures that the runner is started.
   	**3. Workflow Integration:**
   		○ A dedicated job is added to the workflow YAML to target the ppc64le architecture.
   		○ The job utilizes Docker containers to maintain a clean and reproducible environment for building and testing.
   	**4. Execution Flow:**
   		○ When a relevant event occurs (e.g., a new commit or pull request), a GitHub webhook triggers the job.
   		○ The ephemeral runner (inside the container) picks up the job, executes the build and tests, unregisters itself, and the container is deleted after completion.
   		
   This containerized ephemeral runner setup has proven effective for managing ppc64le builds and tests efficiently while ensuring scalability, isolation, and optimal resource utilization. If you have any questions or need more details, feel free to ask!
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org