[ci] Skip Arrow tests on AppVeyor, use Intel macOS runners, upgrade to XCode 14.3 on macOS jobs, disable MacOS MPI jobs #7260
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Python-package | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
- release/* | |
# automatically cancel in-progress builds if another commit is pushed | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
CONDA_ENV: test-env | |
GITHUB_ACTIONS: 'true' | |
jobs: | |
test: | |
name: ${{ matrix.task }} ${{ matrix.method }} (${{ matrix.os }}, Python ${{ matrix.python_version }}) | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: macos-13 | |
task: regular | |
python_version: '3.9' | |
- os: macos-13 | |
task: sdist | |
python_version: '3.10' | |
- os: macos-13 | |
task: bdist | |
python_version: '3.7' | |
- os: macos-13 | |
task: if-else | |
python_version: '3.9' | |
# We're currently skipping MPI jobs on macOS, see https://github.com/microsoft/LightGBM/pull/6425 | |
# for further details. | |
# - os: macos-13 | |
# task: mpi | |
# method: source | |
# python_version: '3.10' | |
# - os: macos-13 | |
# task: mpi | |
# method: pip | |
# python_version: '3.11' | |
# - os: macos-13 | |
# task: mpi | |
# method: wheel | |
# python_version: '3.8' | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 5 | |
submodules: true | |
- name: Setup and run tests | |
shell: bash | |
run: | | |
export TASK="${{ matrix.task }}" | |
export METHOD="${{ matrix.method }}" | |
export PYTHON_VERSION="${{ matrix.python_version }}" | |
if [[ "${{ matrix.os }}" == "macos-13" ]]; then | |
export COMPILER="gcc" | |
export OS_NAME="macos" | |
elif [[ "${{ matrix.os }}" == "ubuntu-latest" ]]; then | |
export COMPILER="clang" | |
export OS_NAME="linux" | |
fi | |
export BUILD_DIRECTORY="$GITHUB_WORKSPACE" | |
export LGB_VER=$(head -n 1 VERSION.txt) | |
export CONDA=${HOME}/miniforge | |
export PATH=${CONDA}/bin:${PATH} | |
$GITHUB_WORKSPACE/.ci/setup.sh || exit 1 | |
$GITHUB_WORKSPACE/.ci/test.sh || exit 1 | |
test-oldest-versions: | |
name: Python - oldest supported versions (ubuntu-latest) | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 5 | |
submodules: true | |
- name: Create wheel | |
run: | | |
docker run \ | |
--rm \ | |
-v $(pwd):/opt/lgb-build \ | |
-w /opt/lgb-build \ | |
lightgbm/vsts-agent:manylinux_2_28_x86_64 \ | |
/bin/bash -c 'PATH=/opt/miniforge/bin:$PATH sh ./build-python.sh bdist_wheel --nomp' | |
- name: Test compatibility | |
run: | | |
docker run \ | |
--rm \ | |
-v $(pwd):/opt/lgb-build \ | |
-w /opt/lgb-build \ | |
python:3.6 \ | |
/bin/bash ./.ci/test-python-oldest.sh | |
all-python-package-jobs-successful: | |
if: always() | |
runs-on: ubuntu-latest | |
needs: [test, test-oldest-versions] | |
steps: | |
- name: Note that all tests succeeded | |
uses: re-actors/[email protected] | |
with: | |
jobs: ${{ toJSON(needs) }} |