Skip to content

Commit

Permalink
CI: adding GitHub Actions runners
Browse files Browse the repository at this point in the history
  • Loading branch information
tdegeus committed Mar 4, 2022
1 parent 6544a55 commit e8fa517
Show file tree
Hide file tree
Showing 4 changed files with 91 additions and 4 deletions.
87 changes: 87 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: CI

on:
workflow_dispatch:
pull_request:
push:
branches:
- master

jobs:

standard:

strategy:
fail-fast: false
matrix:
runs-on: [ubuntu-latest, macos-latest, windows-latest]

defaults:
run:
shell: bash -l {0}

name: ${{ matrix.runs-on }} • x64 ${{ matrix.args }}
runs-on: ${{ matrix.runs-on }}

steps:

- name: Basic GitHub action setup
uses: actions/checkout@v2

- name: Set conda environment
uses: mamba-org/provision-with-micromamba@main
with:
environment-name: myenv
environment-file: environment-dev.yml
cache-env: true
extra-specs: |
ninja
- name: Configure using CMake
run: cmake -Bbuild -G "Ninja" -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DPYTHON_EXECUTABLE=`which python` -DDOWNLOAD_GTEST=ON

- name: Install
working-directory: build
run: cmake --install .

- name: Build xtensor-python
working-directory: build
run: cmake --build .

- name: Test xtensor-python
working-directory: build/test
run: ./test_xtensor_python

- name: Test xtensor-python (Python)
run: py.test -s

- name: Example - readme 1
working-directory: docs/source/examples/readme_example_1
run: |
cmake -Bbuild -DPython_EXECUTABLE=`which python`
cd build
cmake --build .
cp ../example.py .
python example.py
cd ..
- name: Example - Copy 'cast'
working-directory: docs/source/examples/copy_cast
run: |
cmake -Bbuild -DPython_EXECUTABLE=`which python`
cd build
cmake --build .
cp ../example.py .
python example.py
cd ..
- name: Example - SFINAE
working-directory: docs/source/examples/sfinae
run: |
cmake -Bbuild -DPython_EXECUTABLE=`which python`
cd build
cmake --build .
cp ../example.py .
python example.py
cd ..
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ foreach(ver ${xtensor_python_version_defines})
set(XTENSOR_PYTHON_VERSION_${CMAKE_MATCH_1} "${CMAKE_MATCH_2}" CACHE INTERNAL "")
endif()
endforeach()
set(${PROJECT_NAME}_VERSION
set(${PROJECT_NAME}_VERSION
${XTENSOR_PYTHON_VERSION_MAJOR}.${XTENSOR_PYTHON_VERSION_MINOR}.${XTENSOR_PYTHON_VERSION_PATCH})
message(STATUS "xtensor-python v${${PROJECT_NAME}_VERSION}")

Expand All @@ -45,7 +45,7 @@ else()
find_package(xtensor ${xtensor_REQUIRED_VERSION} REQUIRED)
message(STATUS "Found xtensor: ${xtensor_INCLUDE_DIRS}/xtensor")
endif()

# Currently no required version for pybind11
if(TARGET pybind11 OR TARGET pybind11::headers)
# pybind11 has a variable that indicates its version already, so use that
Expand Down
2 changes: 1 addition & 1 deletion benchmark/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU"
endif()

if(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP /bigobj")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP /bigobj /DHAVE_SNPRINTF")
set(CMAKE_EXE_LINKER_FLAGS /MANIFEST:NO)
foreach(flag_var
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
Expand Down
2 changes: 1 addition & 1 deletion test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU"
endif()

if(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP /bigobj")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP /bigobj /DHAVE_SNPRINTF")
set(CMAKE_EXE_LINKER_FLAGS /MANIFEST:NO)
endif()

Expand Down

0 comments on commit e8fa517

Please sign in to comment.