name: XGBoost-Python-Wheels on: [push, pull_request] jobs: python-wheels: name: Build wheel for ${{ matrix.platform_id }} runs-on: ${{ matrix.os }} strategy: matrix: include: - os: macos-latest python: 37 platform_id: macosx_x86_64 wheel_tag: macosx_10_15_x86_64.macosx_11_0_x86_64.macosx_12_0_x86_64 - os: macos-latest python: 38 platform_id: macosx_arm64 wheel_tag: macosx_12_0_arm64 steps: - uses: actions/checkout@v2 with: submodules: 'true' - name: Setup Python uses: actions/setup-python@v2 with: python-version: '3.9' - name: Set env var for ARM64 shell: bash run: echo "::set-output name=value::CIBW_TARGET_OSX_ARM64=1" id: arm64_flag if: matrix.platform_id == 'macosx_arm64' - name: Build wheels env: CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }} CIBW_ARCHS: all CIBW_ENVIRONMENT: ${{ steps.arm64_flag.outputs.value }} CIBW_TEST_SKIP: "*-macosx_arm64" CIBW_BUILD_VERBOSITY: 3 run: bash tests/ci_build/build_python_wheels.sh - name: Rename Python wheel run: | python tests/ci_build/rename_whl.py wheelhouse/*.whl ${{ github.sha }} ${{ matrix.wheel_tag }} - name: Extract branch name shell: bash run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" id: extract_branch if: github.ref == 'refs/heads/master' || contains(github.ref, 'refs/heads/release_') - name: Upload Python wheel if: github.ref == 'refs/heads/master' || contains(github.ref, 'refs/heads/release_') run: | python -m pip install awscli python -m awscli s3 cp wheelhouse/*.whl s3://xgboost-nightly-builds/${{ steps.extract_branch.outputs.branch }}/ --acl public-read env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_IAM_S3_UPLOADER }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_IAM_S3_UPLOADER }}