summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorKulhanek <tomas.kulhanek@stfc.ac.uk>2019-01-28 13:07:22 +0000
committerKulhanek <tomas.kulhanek@stfc.ac.uk>2019-01-28 13:07:22 +0000
commite31cb6d8489d265381cb5abe0f396e44db42352b (patch)
treeeec2bda095d6d22bc64948639cfcbfde5ae9a093 /build
parent5b8410926219639b41039c7529c7038ee11fc1d5 (diff)
downloadregularization-e31cb6d8489d265381cb5abe0f396e44db42352b.tar.gz
regularization-e31cb6d8489d265381cb5abe0f396e44db42352b.tar.bz2
regularization-e31cb6d8489d265381cb5abe0f396e44db42352b.tar.xz
regularization-e31cb6d8489d265381cb5abe0f396e44db42352b.zip
UPDATE: using universal build
Diffstat (limited to 'build')
-rwxr-xr-xbuild/jenkins-build.sh94
1 files changed, 1 insertions, 93 deletions
diff --git a/build/jenkins-build.sh b/build/jenkins-build.sh
index 258afb5..5b6c9ce 100755
--- a/build/jenkins-build.sh
+++ b/build/jenkins-build.sh
@@ -1,94 +1,2 @@
#!/usr/bin/env bash
-
-# Copyright 2019 Tomas Kulhanek, see /LICENSE
-
-# Universal script to build CCPi module libraries
-#
-# These environment variables can be specified optionally
-# CIL_VERSION - version of this build, it will be used to label it within multiple places during build
-# CCPI_CONDA_TOKEN - token to upload binary builds to anaconda
-# - if CIL_VERSION is not expliticly defined, then version is determined from `git describe --tags` and puts also
-# the number of commits after this tag
-# - it detects the branch under which the CCPi is build, master is uploaded to anaconda channel, non-master branch not
-# - if the version is release (no number after _), anaconda upload is production
-# - if the version is not release (number of commits after last tag) then anaconda upload is labeled as 'dev'
-# - some commit can be explicitly tagged including '_' char and something after, then it is considered as 'dev' version
-#
-# This script builds a CCPI module based on configuration in relative path Wrappers/Python/conda-recipe
-# multiple files can be build (combination of python version and dependent libraries)
-# Arguments to this script is passed to `conda build`
-# e.g.
-# jenkins-build.sh -c ccpi -c conda-forge
-# is passed to subsequent conda build as following
-# conda build Wrappers/Python/conda-recipe -c ccpi -c conda-forge
-
-if [[ -n ${CIL_VERSION} ]]
-then
- echo Using defined version: $CIL_VERSION
-else
- # define CIL_VERSION from last git tag, remove first char ('v') and leave rest
- export CIL_VERSION=`git describe --tags | tail -c +2`
- # dash means that it's some commit after tag release -thus will be treated as dev
- if [[ ${CIL_VERSION} == *"-"* ]]; then
- # detected dash means that it is dev version,
- # get first and second part between first dash and ignore all after other dash (usually sha)
- # and as dash is prohibited for conda build, replace with underscore
- export CIL_VERSION=`echo ${CIL_VERSION} | cut -d "-" -f -2 | tr - _`
- echo Building dev version: ${CIL_VERSION}
- else
- echo Building release version: $CIL_VERSION
- fi
-fi
-
-# Script to builds source code in Jenkins environment
-# module try-load conda
-
-# install miniconda if the module is not present
-if hash conda 2>/dev/null; then
- echo using installed conda
-else
- if [ ! -f Miniconda3-latest-Linux-x86_64.sh ]; then
- wget -q https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
- chmod +x Miniconda3-latest-Linux-x86_64.sh
- fi
- ./Miniconda3-latest-Linux-x86_64.sh -u -b -p .
- PATH=$PATH:./bin
-fi
-
-GIT_BRANCH=`git rev-parse --symbolic-full-name HEAD`
-echo on branch ${GIT_BRANCH}
-cat .git/HEAD
-
-# presume that git clone is done before this script is launched, if not, uncomment
-#git clone https://github.com/vais-ral/CCPi-Regularisation-Toolkit
-conda install -y conda-build
-#cd CCPi-Regularisation-Toolkit # already there by jenkins
-# need to call first build
-conda build Wrappers/Python/conda-recipe "$@"
-# then need to call the same with --output
-#- otherwise no build is done :-(, just fake file names are generated
-export REG_FILES=`conda build Wrappers/Python/conda-recipe --output`
-# REG_FILES variable should contain output files
-echo files created: $REG_FILES
-
-# upload to anaconda only if token is defined
-# and TODO pull request not to upload
-
-if [[ -n ${CCPI_CONDA_TOKEN} ]]; then
- if [[ ${GIT_BRANCH} == "refs/heads/master" ]]; then
- conda install anaconda-client
- while read -r outfile; do
- #if >0 commit (some _ in version) then marking as dev build
- if [[ $CIL_VERSION == *"_"* ]]; then
- # upload with dev label
- anaconda -v -t ${CCPI_CONDA_TOKEN} upload $outfile --force --label dev
- else
- anaconda -v -t ${CCPI_CONDA_TOKEN} upload $outfile --force
- fi
- done <<< "$REG_FILES"
- else
- echo git branch is not master, will not upload to anaconda.
- fi
-else
- echo CCPI_CONDA_TOKEN not defined, will not upload to anaconda.
-fi
+bash <(curl -L https://raw.githubusercontent.com/vais-ral/CCPi-VirtualMachine/master/scripts/jenkins-build.sh)