diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5a82e967c..4c6098808 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,12 +26,12 @@ jobs: uses: pre-commit/action@v3.0.0 tests: - runs-on: ubuntu-latest env: FORCE_COLOR: 1 strategy: fail-fast: false matrix: + os: [macos-latest, ubuntu-latest, windows-latest] target: - +test-python3.8-arrow1.x.x - +test-python3.8-arrow2.x.x @@ -69,25 +69,43 @@ jobs: - target: +test-python3.8-arrow10.x.x experimental: false upload: true + os: ubuntu-latest - target: +test-python3.9-arrow10.x.x experimental: false upload: true + os: ubuntu-latest - target: +test-python3.10-arrow10.x.x experimental: false upload: true + os: ubuntu-latest - target: +test-python3.8-arrow-nightly experimental: true upload: false + os: ubuntu-latest - target: +test-python3.9-arrow-nightly experimental: true upload: false + os: ubuntu-latest - target: +test-python3.10-arrow-nightly experimental: true upload: false + os: ubuntu-latest + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Download earthly 0.5.0 - run: "sudo /bin/sh -c 'wget https://github.com/earthly/earthly/releases/download/v0.5.0/earthly-linux-amd64 -O /usr/local/bin/earthly && chmod +x /usr/local/bin/earthly'" + run: | + if [ "$RUNNER_OS" == "Windows" ]; then + echo 'windows os found' + exit 1 + elif [ "$RUNNER_OS" == "Linux" ]; then + sudo /bin/sh -c 'wget https://github.com/earthly/earthly/releases/download/v0.5.0/earthly-linux-amd64 -O /usr/local/bin/earthly && chmod +x /usr/local/bin/earthly' + else + brew update + brew cleanup + sudo chown -R $(whoami) $(brew --prefix)/* + brew install earthly/earthly/earthly && earthly bootstrap + fi - name: Run build run: earthly --allow-privileged ${{ matrix.target }} continue-on-error: ${{ matrix.experimental }} diff --git a/setup.py b/setup.py index 21343bb0f..32f62ddd8 100644 --- a/setup.py +++ b/setup.py @@ -84,7 +84,9 @@ def __str__(self): if sys.platform == "darwin": extra_compile_args.append("--std=c++17") extra_compile_args.append("--stdlib=libc++") - extra_compile_args.append("-mmacosx-version-min=10.9") + extra_compile_args.append("-mmacosx-version-min=11.0") + # See https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk + extra_compile_args.append("-D_LIBCPP_DISABLE_AVAILABILITY") hidden_visibility_args.append("-fvisibility=hidden") include_dirs.append(os.getenv("UNIXODBC_INCLUDE_DIR", "/usr/local/include/")) library_dirs.append(os.getenv("UNIXODBC_LIBRARY_DIR", "/usr/local/lib/")) @@ -116,6 +118,9 @@ def __str__(self): library_dirs.append(os.getenv("UNIXODBC_LIBRARY_DIR")) odbclib = "odbc" +if sys.version_info.minor < 10: + extra_compile_args.append("CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1") + def get_extension_modules(): extension_modules = []