Commit 52fe0478 authored by Samuel Debionne's avatar Samuel Debionne

Add conda packaging and deployement to gitlab-ci

Add Pilatus conda package

Add Basler conda package

Add V4l2 camera conda package

Add espia, frelon and maxipix conda package

Add pco conda package and support for conda build on Windows
parent f1c7a9ba
# image : docker-registry.esrf.fr/bcu/lima-ci-debian8:latest
#before_script :
stages:
- build
- test
- package
- deploy
build-python2 :
build-python2:
stage: build
script:
- update-alternatives --set python /usr/bin/python2.7
......@@ -17,7 +16,7 @@ build-python2 :
tags:
- lima
build-python3 :
build-python3:
stage: build
script:
- update-alternatives --set python /usr/bin/python3.4
......@@ -29,8 +28,17 @@ build-python3 :
tags:
- lima
build-conda:
stage: build
script:
- conda build ./conda --prefix-length=80 --output-folder=dist/ --python=2.7 --channel=http://bcu-ci.esrf.fr/stable
artifacts:
paths:
- dist/
tags:
- conda
test-python2 :
test-python2:
stage: test
dependencies:
- build-python2
......@@ -41,8 +49,7 @@ test-python2 :
tags:
- lima
test-python3 :
test-python3:
stage: test
dependencies:
- build-python3
......@@ -52,3 +59,17 @@ test-python3 :
- ctest --timeout 10 --output-on-failure
tags:
- lima
deploy:
stage: deploy
environment:
name: production
url: http://bcu-ci.esrf.fr/stable
dependencies:
- build-conda
script:
- mv -f dist/linux-64/* /conda/linux-64/
- conda index /conda/linux-64/
tags:
- conda
when: manual
This diff is collapsed.
Subproject commit 61ddfec995ab3ac369e12d2f20f78912d3b09502
Subproject commit 20d7f4a75ac5b65daf51af314fa18e7432d8af3b
Subproject commit 448222e1f64eb92292407cf7ea5d5d7f79933abf
Subproject commit 085e3a547e77490b7490dbf6168bec5754efd71f
Subproject commit 491b097a012c29168e3a097f937c42ddd398f88e
Subproject commit 861cbc2cbd575a9b23e95b5352ed7474920e4f86
Subproject commit 7d5e257a0f1e706a3b11619877c9ec50381d15ca
Subproject commit 35bd474037393babf82fc8c83fb14a6fdb65039b
Subproject commit 0a26b61f31d41c60a6b45385279f889f7791d2d4
Subproject commit 7688e5cae953891f4f91c5ca17801fd73dd69bdf
Subproject commit 89f71186c51652daff86a08a0363b58a8818733d
Subproject commit 1752063b4dc51c930c06437c30fe98907d32917b
find_path(LIB_CBF_INCLUDE_DIR cbf/cbf.h)
find_library(LIB_CBF cbf)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(CBF
DEFAULT_MSG
CBF_LIBRARIES
CBF_INCLUDE_DIRS)
# -- Check for CFITSIO and CCFITS library --
#
# Uses path overrides: CFITSIOINC_PATH and CFITSIOLIB_PATH
#
# Defines:
#
# CFITSIO_FOUND - system has the CFITSIO library
# CFITSIO_INCLUDE_DIR - the CFITSIO include directory
# CFITSIO_LIBRARY - The library needed to use CFITSIO
#
# CCFITS_FOUND
# CCFITS_INCLUDE_DIR
# CCFITS_LIBRARY
#
# Hints for non-standard locations:
#
# CFITSIO_ROOT_DIR (used for finding cfitsio only)
# CCFITS_ROOT_DIR (used for finding CCfits only)
# BASE_DIR (used for both, and other dependencies as well)
#
# These directories can be the --prefix=<dir> directory or the
# individual source directories for cfitsio or ccfits.
#
# Copyright 2012 Jacek Becla, Daniel Liwei Wang
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
include(FindPackageHandleStandardArgs)
# Look for includes and libraries
find_path(CFITSIO_INCLUDE_DIR
NAMES fitsio.h
HINTS ${CFITSIO_ROOT_DIR} ${BASE_DIR}
PATH_SUFFIXES include include/cfitsio
)
find_library(CFITSIO_LIBRARY cfitsio
HINTS ${CFITSIO_ROOT_DIR} ${BASE_DIR}
PATH_SUFFIXES lib)
find_package_handle_standard_args(CFITSIO DEFAULT_MSG
CFITSIO_INCLUDE_DIR CFITSIO_LIBRARY)
if(NOT CFITSIO_FOUND)
message("Can't find CCfits. You can specify a non-standard (e.g., from source) installation using CFITSIO_ROOT_DIR")
endif(NOT CFITSIO_FOUND)
find_path(CCFITS_INCLUDE_DIR CCfits/CCfits
HINTS ${CCFITS_ROOT_DIR} ${BASE_DIR}
PATH_SUFFIXES include)
find_library(CCFITS_LIBRARY CCfits
HINTS ${CCFITS_ROOT_DIR} ${BASE_DIR}
PATH_SUFFIXES lib)
find_package_handle_standard_args(CCFITS DEFAULT_MSG
CCFITS_INCLUDE_DIR CCFITS_LIBRARY)
if(NOT CCFITS_FOUND)
message("Can't find CCfits. You can specify a non-standard (e.g., from source) installation using CCFITS_ROOT_DIR")
endif(NOT CCFITS_FOUND)
#find_package_handle_standard_args(LIBSZ DEFAULT_MSG SZ_LIB)
mark_as_advanced(CFITSIO_LIBRARY CFITSIO_INCLUDE_DIR
CCFITS_LIBRARY CCFITS_INCLUDE_DIR)
find_library(LZ4_LIBRARIES NAMES lz4)
find_path(LZ4_INCLUDE_DIRS NAMES lz4.h)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LZ4
DEFAULT_MSG
LZ4_LIBRARIES
LZ4_INCLUDE_DIRS)
./install.bat --install-prefix=%PREFIX% --install-python-prefix=%SP_DIR% --find-root-path=$PREFIX hdf5 gz lz4 python pytango-server pco
#!/bin/bash
python -V
mkdir -p $PREFIX/usr/include/python2.7
cp -R $PREFIX/lib/python2.7/site-packages/numpy/core/include/numpy $PREFIX/include/python2.7/
#mkdir build
#cd build
#cmake -G "Unix Makefiles" -DCMAKE_FIND_ROOT_PATH=$PREFIX -DCMAKE_INSTALL_PREFIX=$PREFIX -DLIMACAMERA_SIMULATOR=1 -DLIMA_ENABLE_TESTS=1 -DLIMA_ENABLE_HDF5=1 -DLIMA_ENABLE_EDFGZ=1 -DLIMA_ENABLE_EDFLZ4=1 -DLIMA_ENABLE_PYTHON=1 -DLIMA_ENABLE_PYTANGO_SERVER=1 ..
#make
#make install
./install.sh --install-prefix=$PREFIX --install-python-prefix=$SP_DIR --find-root-path=$PREFIX hdf5 gz lz4 python pytango-server basler pilatus v4l2 espia maxipix frelon
blas_impl:
- mkl # [x86_64]
c_compiler:
- vs2017 # [win]
cxx_compiler:
- vs2017 # [win]
python:
- 2.7
# This differs from target_platform in that it determines what subdir the compiler
# will target, not what subdir the compiler package will be itself.
# For example, we need a win-64 vs2008_win-32 package, so that we compile win-32
# code on win-64 miniconda.
cross_compiler_target_platform:
- win-64 # [win]
target_platform:
- win-64 # [win]
vc:
- 14
zip_keys:
- # [win]
- vc # [win]
- c_compiler # [win]
- cxx_compiler # [win]
{% set version = "1.8.0" %}
package:
name: lima
version: {{ version }}
source:
git_url: https://gitlab.esrf.fr/limagroup/lima.git
git_branch: 16-generate-conda-packages
build:
number: 1
requirements:
build:
- {{ compiler('cxx') }}
- cmake
host:
- python
- numpy
- sip 4.18*
- gsl 2.2*
#- glib 2.50*
- lz4-c 1.8*
- hdf5 1.10*
- zlib
- cbflib # [linux]
- pylon 5.0.12 # [linux]
- libv4l # [linux]
- espia # [linux]
- pytango # [linux]
- pco # [win]
outputs:
- name: lima-core
requirements:
run:
- python
- sip 4.18*
- gsl 2.2*
#- glib 2.50*
- lz4-c 1.8*
- numpy
- hdf5 1.10*
files:
- lib/liblimacore.so*
- lib/libprocesslib.so*
- lib/python2.7/site-packages/limacore.so
- lib/python2.7/site-packages/processlib.so
- lib/python2.7/site-packages/Lima/__init__.py
- lib/python2.7/site-packages/Lima/Core/
- name: lima-tango-server
requirements:
run:
- python
- pytango
files:
- bin/LimaCCDs
- lib/python2.7/site-packages/Lima/Server/*.py
- lib/python2.7/site-packages/Lima/Server/camera/__init__.py
- lib/python2.7/site-packages/Lima/Server/plugins/
- name: lima-simulator
requirements:
run:
- python
- lima-core
files:
- lib/liblimasimulator.so*
- lib/python2.7/site-packages/limasimulator.so
- lib/python2.7/site-packages/Lima/Simulator/
# test:
# requires:
# - cmake
# source_files:
# - cmake-build/*
# commands:
# - cd cmake-build
# - ctest
# imports:
# - Lima.Simulator
- name: lima-simulator-server
requirements:
run:
- lima-tango-server
- lima-simulator
files:
- lib/python2.7/site-packages/Lima/Server/camera/Simulator.py
#
# Basler
- name: lima-camera-basler # [linux]
requirements:
run:
- python
- lima-core
- pylon 5*
files:
- lib/liblimabasler.so*
- lib/python2.7/site-packages/limabasler.so
- lib/python2.7/site-packages/Lima/Basler/
# test:
- name: lima-camera-basler-server # [linux]
requirements:
run:
- lima-tango-server
- lima-camera-basler
files:
- lib/python2.7/site-packages/Lima/Server/camera/Basler.py
#
# Pilatus
- name: lima-camera-pilatus # [linux]
requirements:
run:
- python
- lima-core
- cbflib
files:
- lib/liblimapilatus.so*
- lib/python2.7/site-packages/limapilatus.so
- lib/python2.7/site-packages/Lima/Pilatus/
# test:
- name: lima-camera-pilatus-server # [linux]
requirements:
run:
- lima-tango-server
- lima-camera-pilatus
files:
- lib/python2.7/site-packages/Lima/Server/camera/Pilatus.py
#
# Video4Linux
- name: lima-camera-v4l2 # [linux]
requirements:
run:
- python
- lima-core
- libv4l2
files:
- lib/liblimav4l2.so*
- lib/python2.7/site-packages/limav4l2.so
- lib/python2.7/site-packages/Lima/V4l2/
# test:
- name: lima-camera-v4l2-server # [linux]
requirements:
run:
- lima-tango-server
- lima-camera-v4l2
files:
- lib/python2.7/site-packages/Lima/Server/camera/V4l2.py
#
# Espia
- name: lima-camera-espia # [linux]
requirements:
run:
- python
- lima-core
- espia
files:
- lib/liblimaespia.so*
- lib/python2.7/site-packages/limaespia.so
- lib/python2.7/site-packages/Lima/Espia/
# test:
- name: lima-camera-espia-server # [linux]
requirements:
run:
- lima-tango-server
- lima-camera-espia
files:
- lib/python2.7/site-packages/Lima/Server/camera/Espia.py
#
# Frelon
- name: lima-camera-frelon # [linux]
requirements:
run:
- python
- lima-core
- lima-camera-espia
files:
- lib/liblimafrelon.so*
- lib/python2.7/site-packages/limafrelon.so
- lib/python2.7/site-packages/Lima/Frelon/
# test:
- name: lima-camera-frelon-server # [linux]
requirements:
run:
- lima-tango-server
- lima-camera-frelon
files:
- lib/python2.7/site-packages/Lima/Server/camera/Frelon.py
#
# Maxipix
- name: lima-camera-maxipix # [linux]
requirements:
run:
- python
- lima-core
- lima-camera-espia
files:
- lib/liblimamaxipix.so*
- lib/python2.7/site-packages/limamaxipix.so
- lib/python2.7/site-packages/Lima/Maxipix/
# test:
- name: lima-camera-maxipix-server # [linux]
requirements:
run:
- lima-tango-server
- lima-camera-maxipix
files:
- lib/python2.7/site-packages/Lima/Server/camera/Maxipix.py
#
# PCO
- name: lima-camera-pco # [win]
requirements:
run:
- python
- lima-core
- pco
files:
- lib/liblimapco.dll*
- lib/python2.7/site-packages/limapco.dll
- lib/python2.7/site-packages/Lima/Maxipix/
# test:
- name: lima-camera-pco-server # [win]
requirements:
run:
- lima-tango-server
- lima-camera-pco
files:
- lib/python2.7/site-packages/Lima/Server/camera/PCO.py
about:
home: https://github.com/esrf-bliss/Lima
license: GPL
license_file: COPYING
summary: a library for the unified control of 2D detectors
Subproject commit f56b83502ddab7e70874a4665b76e0fed0019446
Subproject commit 2fbef350aeaf25ce1e1d002b79fabb0fa1f619de
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment