Skip to content

Build and test with conda #377

Build and test with conda

Build and test with conda #377

Workflow file for this run

name: Build and test with conda
on:
push:
pull_request:
schedule:
- cron: '47 6 * * *'
# Automatically stop old builds on the same branch/PR
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash -el {0}
jobs:
macos-tests:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
PYTHON_VERSION: ['3.9', '3.10', '3.11']
PYARROW_VERSION: ['10.0.1']
include:
- PYTHON_VERSION: "3.10"
PYARROW_VERSION: "9.0.0"
- PYTHON_VERSION: "3.11"
PYARROW_VERSION: "12.0.0"
steps:
- name: Checkout branch
uses: actions/checkout@v3
with:
submodules: true
- name: Fetch full git history
run: git fetch --prune --unshallow
- name: Set up Conda env
uses: mamba-org/provision-with-micromamba@e2b397b12d0a38069451664382b769c9456e3d6d
with:
condarc-file: .github/workflows/.condarc
cache-env: true
extra-specs: |
python=${{ matrix.PYTHON_VERSION }}
pyarrow=${{ matrix.PYARROW_VERSION }}
pytest-md
pytest-emoji
- name: Build with CMake
run: |
mkdir build && \
cd build && \
cmake -DBOOST_ROOT=${CONDA_PREFIX} -DBUILD_COVERAGE=ON \
-DCMAKE_INSTALL_PREFIX=./dist \
-DPYTHON_EXECUTABLE=$(which python) \
-GNinja .. && \
ninja && \
cmake --build . --target install
- name: Install repository
run: |
cd build/dist && python -m pip install --no-build-isolation --no-deps --disable-pip-version-check -e .
- name: Test import
run: |
cd /
python -c 'import turbodbc'
python -c "import turbodbc.arrow_support"
windows-tests:
runs-on: windows-latest
defaults:
run:
shell: cmd /C call {0}
strategy:
fail-fast: false
matrix:
PYTHON_VERSION: ['3.10']
PYARROW_VERSION: ['10.0.1']
include:
- PYTHON_VERSION: "3.10"
PYARROW_VERSION: "9.0.0"
- PYTHON_VERSION: "3.11"
PYARROW_VERSION: "11.0.0"
steps:
- name: Checkout branch
uses: actions/checkout@v3
with:
submodules: true
- name: Fetch full git history
run: git fetch --prune --unshallow
- name: Set up Conda env
uses: mamba-org/provision-with-micromamba@e2b397b12d0a38069451664382b769c9456e3d6d
with:
condarc-file: .github/workflows/.condarc
cache-env: true
extra-specs: |
python=${{ matrix.PYTHON_VERSION }}
pyarrow=${{ matrix.PYARROW_VERSION }}
pytest-md
pytest-emoji
- name: Configure with CMake
run: |
@CALL micromamba activate turbodbc
@echo on
mkdir build
cd build
cmake -DBUILD_COVERAGE=ON -DCMAKE_INSTALL_PREFIX=./dist -DCMAKE_BUILD_TYPE=Release -GNinja ..
if %errorlevel% neq 0 exit /b %errorlevel%
- name: Build with CMake
run: |
@CALL micromamba activate turbodbc
@echo on
cd build
ninja
if %errorlevel% neq 0 exit /b %errorlevel%
cmake --build . --target install
if %errorlevel% neq 0 exit /b %errorlevel%
- name: Install repository
run: |
@CALL micromamba activate turbodbc
@echo on
cd build/dist
dir src
dir src\turbodbc_arrow
if %errorlevel% neq 0 exit /b %errorlevel%
python -m pip install --no-build-isolation --no-deps --disable-pip-version-check -e .
if %errorlevel% neq 0 exit /b %errorlevel%
- name: Test import
run: |
@CALL micromamba activate turbodbc
@echo on
cd /
if %errorlevel% neq 0 exit /b %errorlevel%
python -c "import turbodbc"
if %errorlevel% neq 0 exit /b %errorlevel%
python -c "import turbodbc.arrow_support"
if %errorlevel% neq 0 exit /b %errorlevel%