Commit 9c67b378 authored by Jesse Mapel's avatar Jesse Mapel
Browse files

Adds windows build CI (#366)

* Testing windows build

* Fixed appveyor

* Testing no deps

* Fixed cmake flags

* Testing conda-build

* Fixed conda

* Added conda-forge channel to build

* Testing adding back python

* debug

* More complex building and testing

* fixed usgscsm -> ale

* Test debugging

* now with 100% more command

* View everything

* Correct lib install dir

* Updated environment file

* removed mac patch for old numpy
parent fc8ede35
Loading
Loading
Loading
Loading

.appveyor.yml

0 → 100644
+39 −0
Original line number Original line Diff line number Diff line
version: '0.8.1.{build}'

image: Visual Studio 2017

platform:
  - x64

configuration:
  - Release

install:
  - git submodule update --init --recursive
  - call C:\\Miniconda36-x64\Scripts\activate.bat
  - conda config --set always_yes yes --set changeps1 no
  - conda update -q conda
  - conda install conda-build anaconda-client
  - conda env create -n ale python=3.7.3
  - conda env update -f environment.yml -n ale
  - conda activate ale

before_build:
  - mkdir build
  - cd build

build_script:
  - python ..\setup.py install
  - cmake -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON -G "Visual Studio 15 2017 Win64" -DALE_BUILD_TESTS=OFF ..
  - cmake --build . --target ALL_BUILD --config Release

artifacts:
  - path: build\Release\ale.dll
    name: ale.dll
  - path: build\Release\ale.lib
    name: ale.lib

on_success:
  - call C:\\Miniconda36-x64\Scripts\activate.bat
  - cd ../
  - conda build -c conda-forge recipe/
+0 −4
Original line number Original line Diff line number Diff line
@@ -43,10 +43,6 @@ install:
  - conda env create -n ale python=3.7.3
  - conda env create -n ale python=3.7.3
  - conda env update -f environment.yml -n ale
  - conda env update -f environment.yml -n ale
  - source activate ale
  - source activate ale
  - |
    if [ "$TRAVIS_OS_NAME" == "osx" ]; then
      install_name_tool -change @rpath/libiomp5.dylib @loader_path/libiomp5.dylib ${CONDA_PREFIX}/lib/libmkl_intel_thread.dylib;
    fi
  - conda install pytest
  - conda install pytest


script:
script:
+2 −4
Original line number Original line Diff line number Diff line
@@ -2,7 +2,6 @@ name: ale
channels:
channels:
  - conda-forge
  - conda-forge
  - default
  - default
  - usgs-astrogeology


dependencies:
dependencies:
  - cmake>=3.10
  - cmake>=3.10
@@ -11,11 +10,10 @@ dependencies:
  - jupyter
  - jupyter
  - nlohmann_json
  - nlohmann_json
  - numpy
  - numpy
  - openblas>=0.3.0
  - pvl
  - pvl
  - python=3.7.1
  - python
  - python-dateutil
  - python-dateutil
  - scipy
  - scipy
  - spiceypy=2.2.2
  - spiceypy>=2.3.0
  - pyyaml
  - pyyaml
  - networkx
  - networkx

recipe/bld.bat

0 → 100644
+19 −0
Original line number Original line Diff line number Diff line
mkdir build
cd build

cmake   -GNinja ^
        -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON ^
        -DALE_BUILD_TESTS=OFF ^
        -DCMAKE_INSTALL_PREFIX="%PREFIX%" ^
        -DCMAKE_INSTALL_LIBDIR="%LIBRARY_LIB%" ^
        -DCMAKE_INSTALL_INCLUDEDIR="%LIBRARY_INC%" ^
        -DCMAKE_INSTALL_BINDIR="%LIBRARY_BIN%" ^
        -DCMAKE_INSTALL_DATADIR="%LIBRARY_PREFIX%" ^
        ..

cmake --build . --target install --config Release

cd ..
pip install . --no-deps -vv

if errorlevel 1 exit 1
+23 −24
Original line number Original line Diff line number Diff line
{% set version = "0.0" %}
{% set version = "0.8.1" %}
{% set git_branch = "master" %}
{% set git_branch = "master" %}
{% set build_number = "0" %}
{% set build_number = "0" %}


@@ -13,33 +13,32 @@ source:
build:
build:
  number: {{ build_number }}
  number: {{ build_number }}


# A number of the requirements below will have two instances: one will include a specific version
# pinning, while the other one will not. When building a version of ALE for use specifically within
# ISIS, use the instances with the version pinned. For all other builds, use the unpinned instances.
# (Confirm that every requirement has one and only one instance uncommented.)
#
# ISIS requires pinned versions for these dependencies to avoid conflicts with other dependencies.
# Make sure to always confirm that version numbers in this file and version numbers in the
# meta.yaml file within the ISIS3 repo match for each dependency before building this library
# for use within ISIS, and always upload this special ISIS build with the "isis" tag.
requirements:
requirements:
  build:
  build:
    - cmake>=3.10
    - cmake>=3.10
    - eigen
    - eigen
  host:
    - pip
    - python
    - nlohmann_json
  run:
  run:
  - eigen
    - networkx
    - networkx
    - numpy
    - numpy
  - openblas
    - pvl
    - python
    - python
    - python-dateutil
    - python-dateutil
  - pvl
    - scipy >=1.2.0
  - pysis
    - spiceypy >=2.3.0
  - spiceypy
    - pyyaml


# Add the tests eventually
test:
# test:
  imports:
#
    - ale
  commands:
    - conda inspect linkages -p $PREFIX $PKG_NAME  # [not win]
    - test -e $PREFIX/lib/libale${SHLIB_EXT}  # [unix]
    - if not exist %LIBRARY_BIN%\ale.dll exit 1  # [win]
    - if not exist %LIBRARY_LIB%\ale.lib exit 1  # [win]


# about:
# about:
#   home:
#   home: