[DOC] Update version to 0.3.7 #2588
Workflow file for this run
This file contains hidden or 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: Build | |
| on: [push, pull_request, workflow_dispatch] | |
| env: | |
| # At least 10.13 is required, to avoid issues and since the runner is macos-13 -> use 13.0, which is Venture from 2022. | |
| MACOSX_DEPLOYMENT_TARGET: 13.0 | |
| jobs: | |
| build_wheels: | |
| name: Build wheel on ${{ matrix.os }} - py ${{ matrix.python-version }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| # macos-14 (which is macos-latest) is ARM only. macos-13 is latest intel runner. | |
| os: [ ubuntu-latest, macos-13 ] | |
| python-version: ["3.8", "3.9", "3.10", "3.11"] | |
| include: | |
| - os: ubuntu-latest | |
| python-version: "3.8" | |
| cibw-build: "cp38-manylinux_x86_64" | |
| - os: ubuntu-latest | |
| python-version: "3.9" | |
| cibw-build: "cp39-manylinux_x86_64" | |
| - os: ubuntu-latest | |
| python-version: "3.10" | |
| cibw-build: "cp310-manylinux_x86_64" | |
| - os: ubuntu-latest | |
| python-version: "3.11" | |
| cibw-build: "cp311-manylinux_x86_64" | |
| - os: macos-13 | |
| python-version: "3.8" | |
| cibw-build: "cp38-macosx_x86_64" | |
| - os: macos-13 | |
| python-version: "3.9" | |
| cibw-build: "cp39-macosx_x86_64" | |
| - os: macos-13 | |
| python-version: "3.10" | |
| cibw-build: "cp310-macosx_x86_64" | |
| - os: macos-13 | |
| python-version: "3.11" | |
| cibw-build: "cp311-macosx_x86_64" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache brew dependencies | |
| if: runner.os == 'macOS' | |
| uses: actions/cache@v4.2.1 | |
| with: | |
| # Paths to cache: | |
| # /usr/local/Homebrew - installation folder of Homebrew | |
| # /usr/local/Cellar - installation folder of Homebrew formulae | |
| # /usr/local/Frameworks, /usr/local/bin, /usr/local/opt - contain (links to) binaries installed by Homebrew formulae | |
| path: | | |
| /usr/local/Homebrew | |
| /usr/local/Cellar | |
| /usr/local/Frameworks | |
| /usr/local/bin | |
| /usr/local/opt | |
| key: macos-13-build-cache-${{ hashFiles('./scripts/macos/brew_dependencies.sh') }}-v2 | |
| - name: Setup python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install cibuildwheel | |
| run: python -m pip install cibuildwheel==2.22.0 | |
| - name: Build wheels | |
| run: python -m cibuildwheel --output-dir wheelhouse | |
| env: | |
| # configure cibuildwheel to build native archs ('auto'), and some | |
| # emulated ones | |
| CIBW_ARCHS_LINUX: native | |
| CIBW_MANYLINUX_X86_64_IMAGE: "registry-1.docker.io/tuplex/ci:${{ matrix.python-version }}" | |
| CIBW_BUILD: ${{ matrix.cibw-build }} | |
| # macOS dependencies separate, for Linux use docker tuplex/ci:3.x images. | |
| CIBW_BEFORE_ALL_MACOS: bash ./scripts/macos/install_antlr4_cpp_runtime.sh && bash ./scripts/macos/brew_dependencies.sh && bash ./scripts/macos/install_aws-sdk-cpp.sh && echo 'export PATH="/usr/local/opt/openjdk@11/bin:$PATH"' >> /Users/runner/.bash_profile | |
| # If CI complains about missing /usr/local/libexec/git-core/git-remote-https: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory | |
| # the OpenSSL3 lib is stored under /usr/local/lib64. | |
| CIBW_ENVIRONMENT_LINUX: "CMAKE_ARGS='-DBUILD_WITH_AWS=ON -DBUILD_WITH_ORC=ON' LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/opt/lib" | |
| # Requires macOS 10.13 at least to build because of C++17 features. | |
| # To avoid issues, simply use 13.0 for now. | |
| CIBW_ENVIRONMENT_MACOS: "MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} CMAKE_ARGS='-DBUILD_WITH_AWS=ON -DBUILD_WITH_ORC=ON' JAVA_HOME=${JAVA_HOME_11_X64}" | |
| # run all python tests to make sure wheels are not defunct | |
| CIBW_TEST_REQUIRES: "pytest pytest-timeout numpy nbformat jupyter" | |
| # Use following test command when segfaults happen to better pinpoint: | |
| # python3 -X faulthandler -m pytest -p no:faulthandler | |
| # else can use pytest ... | |
| # use 3min timeout per test and print top 25 slowest tests | |
| CIBW_TEST_COMMAND: "cd {project} && python3 -X faulthandler -m pytest -p no:faulthandler tuplex/python/tests -v --timeout 600 --durations 25" | |
| - name: reorganize files | |
| run: touch ./scripts/dummy.version && cp ./scripts/*.version ./wheelhouse && cp ./.github/scripts/test_pypi.sh ./wheelhouse | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: wheels-${{ matrix.os }}-${{ matrix.cibw-build }} | |
| path: | | |
| ./wheelhouse/*.whl | |
| # Note: when using download-artifact, use | |
| # - uses: actions/download-artifact@v4 | |
| # with: | |
| # path: dist | |
| # merge-multiple: true | |
| # # Requires 4.1 |