version: 2 checkout: post: - ./ci-support/checkout_merge_commit.sh aliases: - &setup_miniconda name: setup_miniconda command: | mkdir -p workspace git clone -b validateNightly git@github.com:CDAT/cdat workspace/cdat --depth=1 python workspace/cdat/scripts/install_miniconda.py -w $WORKDIR -p 'py3.6' - &create_conda_env name: create_conda_env environment: PKGS: "'cdms2<3.1.2.2019' vcs vcsaddons mesalib matplotlib scipy cia testsrunner 'proj4<5' 'vtk-cdat>8.1' libnetcdf=4.6.2" CHANNELS: "-c cdat/label/nightly -c conda-forge -c pcmdi" command: | if [ -d ${HOME}/miniconda ]; then export PATH=$HOME/miniconda/bin:$PATH echo "Found miniconda directory" else mkdir -p workspace git clone -b validateNightly git@github.com:CDAT/cdat workspace/cdat --depth=1 python workspace/cdat/scripts/install_miniconda.py -w ${HOME} -p 'py3.7' echo "miniconda directory not found, installing conda" export PATH=${HOME}/miniconda/bin:$PATH conda config --set always_yes yes --set changeps1 no conda update -y -q conda conda config --set anaconda_upload no if [[ $PY_VER = "py2" ]]; then conda create -q -n cdat $CHANNELS "python<3" $PKGS $FFMPEG else conda create -q -n cdat $CHANNELS "python=3.7" $PKGS $FFMPEG $COVERAGE_PKGS fi fi - &setup_pmp name: setup_pmp command: | export PATH=${HOME}/miniconda/bin:$PATH source activate cdat python setup.py install - &run_pmp_tests name: run_pmp_tests command: | export PATH=${HOME}/miniconda/bin:$PATH export CDAT_ANONYMOUS_LOG=False export CDAT_SETUP_PATH=${HOME} source activate cdat python run_tests.py -H -v2 $COVERAGE RESULT=$? echo "*** $PY_VER test result: ${RESULT}" - &run_coveralls name: run_coveralls command: | export PATH=${HOME}/miniconda/bin:$PATH source activate cdat coveralls source deactivate - &conda_upload name: conda_upload environment: CHANNELS: "-c cdat/label/nightly -c conda-forge -c pcmdi" PKG_NAME: "pcmdi_metrics" LABEL: "nightly" command: | if [[ $CIRCLE_BRANCH != 'master' ]]; then exit 0 fi export PATH=${HOME}/miniconda/bin:$PATH mkdir conda-bld cd conda-bld conda install conda-build anaconda-client conda config --set anaconda_upload no export CONDA_BLD_PATH=`pwd`/build_conda mkdir build_conda git clone git://github.com/cdat/conda-recipes cd conda-recipes rm -rf cdp cp -r ../../recipes/pcmdi_metrics . python ./prep_for_build.py -l 1.2 conda build $PKG_NAME $CHANNELS --python=37 conda build $PKG_NAME $CHANNELS --python=27 anaconda -t $CONDA_UPLOAD_TOKEN upload -u pcmdi -l $LABEL $CONDA_BLD_PATH/noarch/$PKG_NAME-*tar.bz2 --force jobs: macos_pmp_py2: macos: xcode: "9.2.0" environment: WORKDIR: "test_macos_pmp_py2" OS: "osx-64" PY_VER: "py2" FFMPEG: "'ffmpeg>4' 'libpng>1.6.34'" steps: - checkout #- restore_cache: # keys: # - macos_py2_2019-06-01 - run: *create_conda_env - save_cache: key: macos_py2_2019-06-01 paths: /Users/distiller/miniconda - run: *setup_pmp - run: *run_pmp_tests - store_artifacts: path: tests_html destination: tests_html - store_artifacts: path: tests_png destination: tests_png macos_pmp_py3: macos: xcode: "9.2.0" environment: WORKDIR: "test_macos_pmp_py3" OS: "osx-64" PY_VER: "py3" FFMPEG: "'ffmpeg>4' 'libpng>1.6.34'" steps: - checkout #- restore_cache: # keys: # - macos_py3_2019-06-01 - run: *create_conda_env - save_cache: key: macos_py3_2019-06-01 paths: /Users/distiller/miniconda - run: *setup_pmp - run: *run_pmp_tests - store_artifacts: path: tests_html destination: tests_html - store_artifacts: path: tests_png destination: tests_png linux_pmp_py2: machine: image: circleci/classic:latest environment: WORKDIR: "test_linux_pmp_py2" OS: "linux-64" PY_VER: "py2" FFMPEG: "ffmpeg" steps: - checkout #- restore_cache: # keys: # - linux_py2_2019-06-01 - run: *create_conda_env - save_cache: key: linux_py2_2019-06-01 paths: /home/circleci/miniconda - run: *setup_pmp - run: *run_pmp_tests - store_artifacts: path: tests_html destination: tests_html - store_artifacts: path: tests_png destination: tests_png linux_pmp_py3: machine: image: circleci/classic:latest environment: WORKDIR: "test_linux_pmp_py3" OS: "linux-64" PY_VER: "py3" FFMPEG: "ffmpeg" COVERAGE: "-c tests/coverage.json --coverage-from-egg" COVERAGE_PKGS: "coverage coveralls" steps: - checkout #- restore_cache: # keys: # - linux_py3_2019-06-01 - run: *create_conda_env - save_cache: key: linux_py3_2019-06-01 paths: /home/circleci/miniconda - run: *setup_pmp - run: *run_pmp_tests - run: *conda_upload - run: *run_coveralls - store_artifacts: path: tests_html destination: tests_html - store_artifacts: path: tests_png destination: tests_png workflows: version: 2 pcmdi_metrics: jobs: - macos_pmp_py3 - macos_pmp_py2 - linux_pmp_py2 - linux_pmp_py3: requires: - linux_pmp_py2