Skip to content
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

[ci] use real aarch64 runners instead of emulation with QEMU #6788

Open
jameslamb opened this issue Jan 19, 2025 · 0 comments
Open

[ci] use real aarch64 runners instead of emulation with QEMU #6788

jameslamb opened this issue Jan 19, 2025 · 0 comments

Comments

@jameslamb
Copy link
Collaborator

Description

GitHub Actions now offers GitHub-hosted aarch64 runners:

These should be used for this project's 1 aarch64 CI job, which produces manylinux2014_aarch64 wheels. The existing approach emulating aarch64 using QEMU should be removed.

Benefits of this work

  • faster CI
    • *these jobs regularly take 60-90 minutes to run, MUCH longer than any other single CI Job run on every PR here (example build link)
  • easier debugging

Acceptance criteria

  • aarch64 wheels are built and tested on runners which physically have arm64 CPUs, instead of using emulation
  • manylinux_aarch64 wheel builds are automatically built and attached to releases when new GitHub releases are created.... or the release checklist includes an item saying something like "attach aarch64 artifacts to release and upload to package repositories"

Approach

Existing job to replace:

LightGBM/.vsts-ci.yml

Lines 218 to 226 in e61bcbe

###########################################
- job: QEMU_multiarch
###########################################
variables:
BUILD_DIRECTORY: /LightGBM
COMPILER: gcc
PRODUCES_ARTIFACTS: 'true'
pool:
vmImage: ubuntu-22.04

Example of using a GitHub ACtions job to upload artifacts for the release:

- name: upload wheels
if: ${{ matrix.method == 'wheel' && matrix.os == 'macos-14' }}
uses: actions/upload-artifact@v4
with:
name: macosx-arm64-wheel
path: dist/*.whl

Notes

This could also be a path to addressing #5035

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant