name: Python-package on: push: branches: - main pull_request: branches: - main - master # automatically cancel in-progress builds if another commit is pushed concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true # default to 0 permissions # (job-level overrides add the minimal permissions needed) permissions: contents: none env: # tell scripts where to put artifacts # (this variable name is left over from when jobs ran on Azure DevOps) BUILD_ARTIFACTSTAGINGDIRECTORY: '${{ github.workspace }}/artifacts' # where repo sources are cloned to BUILD_SOURCESDIRECTORY: '${{ github.workspace }}' CMAKE_BUILD_PARALLEL_LEVEL: 4 # avoid interactive prompts in Debian-based distributions DEBIAN_FRONTEND: noninteractive # On runners using nvidia-container-runtime with Docker, ensure GPUs are available to running processes. # # ref: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/docker-specialized.html NVIDIA_VISIBLE_DEVICES: 'all' SKBUILD_STRICT_CONFIG: true jobs: test-linux-aarch64: name: bdist wheel (manylinux2014-arm, gcc, Python 3.14) runs-on: ubuntu-24.04-arm timeout-minutes: 60 steps: - name: Checkout repository uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: fetch-depth: 5 persist-credentials: false submodules: true - name: Setup and run tests shell: bash # this uses 'docker run' instead of just setting 'container:' # because actions/checkout requires GLIBC 2.28 and that is too # new for manylinux2014 env: BUILD_DIRECTORY: /LightGBM run: | cat > ./docker-script.sh <