From 9984c8ca6c79de40cafc671819310fa0c0c470e2 Mon Sep 17 00:00:00 2001 From: Muryanto Date: Mon, 14 May 2018 09:26:52 -0700 Subject: [PATCH 01/13] adding linux build in circleCI, and adding conda_upload alias in .circleci/config.yml --- .circleci/config.yml | 48 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4ccc92c..99e3df7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -51,10 +51,30 @@ aliases: python run_tests.py -H -v2 PY3_RESULT=$? echo "*** py3 test result: "${PY3_RESULT} - if [ $PY2_RESULT -eq 0 -a $PY3_RESULT -eq 0 -a $CIRCLE_BRANCH == "master" ]; then bash ./ci-support/conda_upload.sh ; fi - if [ $PY2_RESULT -ne 0 -o $PY3_RESULT -ne 0]; then - exit 1 + RESULT=$(( $RESULT + $PY3_RESULT)) + exit $RESULT + + - &conda_upload + name: conda_upload + command: | + if [[ $CIRCLE_BRANCH != 'master' ]]; then + exit 0 fi + export PATH=${HOME}/project/$WORKDIR/miniconda/bin:$PATH + conda install conda-build anaconda-client + conda config --set anaconda_upload no + export CONDA_BLD_PATH=`pwd`/conda_build + git clone git://github.com/cdat/conda-recipes + cd conda-recipes + export PKG_NAME=genutil + export USER=cdat + export VERSION=8.0 + export LABEL=nightly + python ./prep_for_build.py -l $VERSION + conda build $PKG_NAME -c cdat/label/nightly -c conda-forge -c cdat + conda build $PKG_NAME -c cdat/label/nightly -c conda-forge -c cdat --python=3.6 + anaconda -t $CONDA_UPLOAD_TOKEN upload -u $USER -l $LABEL $CONDA_BLD_PATH/$OS/$PKG_NAME-$VERSION.`date +%Y*`0.tar.bz2 --force + jobs: macos_genutil: macos: @@ -67,15 +87,35 @@ jobs: - run: *create_conda_env - run: *setup_genutil - run: *run_genutil_tests + - run: *conda_upload - store_artifacts: path: tests_html destination: tests_html + linux_genutil: + machine: + image: circleci/classic:latest + environment: + WORKDIR: "workspace/test_linux_genutil" + OS: "linux-64" + steps: + - checkout + - run: *setup_miniconda + - run: *create_conda_env + - run: *setup_genutil + - run: *run_genutil_tests + - run: *conda_upload + - store_artifacts: + path: tests_html + destination: tests_html + + workflows: version: 2 - nightly: + genutil: jobs: - macos_genutil + - linux_genutil From e30cacc9c7ee5596d36f5dfca4744d74f0e8a709 Mon Sep 17 00:00:00 2001 From: Muryanto Date: Mon, 14 May 2018 10:41:13 -0700 Subject: [PATCH 02/13] adding linux build in circleCI, and adding conda_upload alias in .circleci/config.yml --- .circleci/config.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 99e3df7..efb8966 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -57,7 +57,7 @@ aliases: - &conda_upload name: conda_upload command: | - if [[ $CIRCLE_BRANCH != 'master' ]]; then + if [[ $CIRCLE_BRANCH != 'migrateToCircleCI2' ]]; then exit 0 fi export PATH=${HOME}/project/$WORKDIR/miniconda/bin:$PATH @@ -81,6 +81,9 @@ jobs: xcode: "9.2.0" environment: WORKDIR: "workspace/test_macos_genutil" + machine: + image: circleci/classic:latest + OS: "osx-64" steps: - checkout - run: *setup_miniconda From e30f1a8c7f5b76390557cc4a6ba399b46496bc8c Mon Sep 17 00:00:00 2001 From: Muryanto Date: Mon, 14 May 2018 10:57:13 -0700 Subject: [PATCH 03/13] adding linux build in circleCI, and adding conda_upload alias in .circleci/config.yml --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index efb8966..e5c5c3e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -45,8 +45,8 @@ aliases: set -e source activate py2 python run_tests.py -H -v2 - PY2_RESULT=$? - echo "*** py2 test result: "${PY2_RESULT} + RESULT=$? + echo "*** py2 test result: "${RESULT} source activate py3 python run_tests.py -H -v2 PY3_RESULT=$? From 68ed399867ec9b2981af678c3e9ea928fdf9b66d Mon Sep 17 00:00:00 2001 From: Muryanto Date: Mon, 14 May 2018 11:27:47 -0700 Subject: [PATCH 04/13] adding linux build in circleCI, and adding conda_upload alias in .circleci/config.yml --- .circleci/config.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e5c5c3e..d36d3d5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -81,8 +81,6 @@ jobs: xcode: "9.2.0" environment: WORKDIR: "workspace/test_macos_genutil" - machine: - image: circleci/classic:latest OS: "osx-64" steps: - checkout From 4516a505fb50191f3fcf6753415974ab0d66b785 Mon Sep 17 00:00:00 2001 From: Muryanto Date: Mon, 14 May 2018 16:41:50 -0700 Subject: [PATCH 05/13] update conda_upload to upload only if tests passed, and if branch is 'master' --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d36d3d5..8f131ba 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -57,7 +57,7 @@ aliases: - &conda_upload name: conda_upload command: | - if [[ $CIRCLE_BRANCH != 'migrateToCircleCI2' ]]; then + if [[ $CIRCLE_BRANCH != 'master' ]]; then exit 0 fi export PATH=${HOME}/project/$WORKDIR/miniconda/bin:$PATH From f8e3af79bbe56af095fecff3f18e9cb747ec0c38 Mon Sep 17 00:00:00 2001 From: Muryanto Date: Fri, 6 Jul 2018 16:29:32 -0700 Subject: [PATCH 06/13] updated .circleci/config.yml to do conda_upload and migrate run_tests.py to use cdat_info & testsrunner --- .circleci/config.yml | 4 +- .travis.yml | 4 +- run_tests.py | 271 +------------------------------------------ 3 files changed, 10 insertions(+), 269 deletions(-) mode change 100755 => 100644 run_tests.py diff --git a/.circleci/config.yml b/.circleci/config.yml index 8f131ba..4a5c1f1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,8 +22,8 @@ aliases: conda config --set always_yes yes --set changeps1 no conda update -y -q conda conda config --set anaconda_upload no - conda create -n py2 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info udunits2 nose flake8 "python<3" numpy - conda create -n py3 -c cdat/label/nightly -c conda-forge -c cdat cdms2 nose flake8 "python>3" cdat_info udunits2 numpy + conda create -n py2 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner udunits2 "python<3" numpy + conda create -n py3 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner "python>3" udunits2 numpy - &setup_genutil diff --git a/.travis.yml b/.travis.yml index 28a9fa2..0de6c7c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ before_install: - conda update -y -q conda #- conda install gcc script: -- conda create -n py2 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info udunits2 nose flake8 "python<3" numpy +- conda create -n py2 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner udunits2 "python<3" numpy - export UVCDAT_ANONYMOUS_LOG=False - echo $TRAVIS_BRANCH - export TRAVIS_PR_BRANCH=$TRAVIS_BRANCH @@ -20,7 +20,7 @@ script: - python setup.py install - python run_tests.py -v2 - rm -rf build -- conda create -n py3 -c cdat/label/nightly -c conda-forge -c cdat cdms2 nose flake8 "python>3" udunits2 cdat_info numpy +- conda create -n py3 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner "python>3" udunits2 numpy - source activate py3 - python setup.py install - python run_tests.py -v2 diff --git a/run_tests.py b/run_tests.py old mode 100755 new mode 100644 index e052a39..6de3687 --- a/run_tests.py +++ b/run_tests.py @@ -1,270 +1,11 @@ -#!/usr/bin/env python -from __future__ import print_function -import glob -import sys import os -import argparse -import multiprocessing -import subprocess -import codecs -import time -import webbrowser -import shlex +import sys import cdat_info -root = os.getcwd() -cpus = multiprocessing.cpu_count() - -parser = argparse.ArgumentParser(description="Run VCS tests", - formatter_class=argparse.ArgumentDefaultsHelpFormatter) -parser.add_argument("-H", "--html", action="store_true", - help="create and show html result page") -parser.add_argument("-p", "--package", action="store_true", - help="package test results") -parser.add_argument("-D", "--dropbox", action="store_true", - help="upload packaged test results to dropbox (access token must be stored in the envirnoment variable DROPBOX_TOKEN)") -parser.add_argument( - "-c", - "--coverage", - action="store_true", - help="run coverage (not implemented)") -parser.add_argument( - "-v", - "--verbosity", - default=1, - choices=[ - 0, - 1, - 2], - type=int, - help="verbosity output level") -parser.add_argument( - "-n", - "--cpus", - default=cpus, - type=int, - help="number of cpus to use") -parser.add_argument( - "-f", - "--failed-only", - action="store_true", - default=False, - help="runs only tests that failed last time and are in the list you provide") -parser.add_argument("tests", nargs="*", help="tests to run") - -args = parser.parse_args() - - -def abspath(path, name, prefix): - import shutil - full_path = os.path.abspath(os.path.join(os.getcwd(), "..", path)) - if not os.path.exists(name): - os.makedirs(name) - new = os.path.join(nm, prefix + "_" + os.path.basename(full_path)) - try: - shutil.copy(full_path, new) - except: - pass - return new - - -def findDiffFiles(log): - i = -1 - file1 = "" - file2 = "" - diff = "" - N = len(log) - while log[i].find("Source file") == -1 and i > -N: - i -= 1 - if i > -N: - file1 = log[i - 1].split()[-1] - for j in range(i, N): - if log[j].find("New best!") > -1: - if log[j].find("Comparing") > -1: - file2 = log[j].split()[2] - else: - k = j - 1 - while log[k].find("Comparing") == -1 and k > -N: - k -= 1 - try: - file2 = log[k].split()[2] - except: - file2 = log[k].split()[1][:-1]+log[j].split()[0] - print("+++++++++++++++++++++++++",file2) - if log[j].find("Saving image diff") > -1: - diff = log[j].split()[-1] - # break - return file1, file2, diff - - -def run_command(command, join_stderr=True): - if isinstance(command, str): - command = shlex.split(command) - if args.verbosity > 0: - print("Executing %s in %s" % (" ".join(command), os.getcwd())) - if join_stderr: - stderr = subprocess.STDOUT - else: - stderr = subprocess.PIPE - P = subprocess.Popen( - command, - stdout=subprocess.PIPE, - stderr=stderr, - bufsize=0, - cwd=os.getcwd()) - out = [] - while P.poll() is None: - read = P.stdout.readline().rstrip() - out.append(read.decode()) - if args.verbosity > 1 and len(read) != 0: - print(read) - return P, out - - -def run_nose(test_name): - opts = [] - if args.coverage: - opts += ["--with-coverage"] - command = ["nosetests", ] + opts + ["-s", test_name] - start = time.time() - P, out = run_command(command) - end = time.time() - return {test_name: {"result": P.poll(), "log": out, "times": { - "start": start, "end": end}}} - - -sys.path.append( - os.path.join( - os.path.dirname( - os.path.abspath(__file__)), - "tests")) -if len(args.tests) == 0: - names = glob.glob("tests/test_*.py") -else: - names = set(args.tests) - -if args.failed_only and os.path.exists(os.path.join("tests",".last_failure")): - f = open(os.path.join("tests",".last_failure")) - failed = set(eval(f.read().strip())) - f.close() - new_names = [] - for fnm in failed: - if fnm in names: - new_names.append(fnm) - names = new_names - -if args.verbosity > 1: - print(("Names:", names)) - -if len(names)==0: - print("No tests to run") - sys.exit(0) - -# Make sure we have sample data -cdat_info.download_sample_data_files(os.path.join(sys.prefix,"share","genutil","test_data_files.txt"),cdat_info.get_sampledata_path()) - -p = multiprocessing.Pool(args.cpus) -outs = p.map(run_nose, names) -results = {} -failed = [] -for d in outs: - results.update(d) - nm = list(d.keys())[0] - if d[nm]["result"] != 0: - failed.append(nm) -f = open(os.path.join("tests",".last_failure"),"w") -f.write(repr(failed)) -f.close() - -if args.verbosity > 0: - print("Ran %i tests, %i failed (%.2f%% success)" %\ - (len(outs), len(failed), 100. - float(len(failed)) / len(outs) * 100.)) - if len(failed) > 0: - print("Failed tests:") - for f in failed: - print("\t", f) -if args.html or args.package or args.dropbox: - if not os.path.exists("tests_html"): - os.makedirs("tests_html") - os.chdir("tests_html") - - js = "" - - fi = open("index.html", "w") - print("", file=fi) - print("""VCS Test Results %s - - - - - """ % time.asctime(), file=fi) - print("

VCS Test results: %s

" % time.asctime(), file=fi) - print("", file=fi) - print("", file=fi) - print("", file=fi) - - for t in sorted(results.keys()): - result = results[t] - nm = t.split("/")[-1][:-3] - print("" % nm, end=' ', file=fi) - fe = codecs.open("%s.html" % nm, "w", encoding="utf-8") - print("", file=fe) - print("%s" % nm, file=fe) - if result["result"] == 0: - print("" % nm, end=' ', file=fi) - print("", file=fe) - print("Back To Results List", file=fe) - else: - print("" % nm, end=' ', file=fi) - print("" % js, file=fe) - print("Back To Results List", file=fe) - print("

Failed test: %s on %s

" % (nm, time.asctime()), file=fe) - file1, file2, diff = findDiffFiles(result["log"]) - if file1 != "": - print('
' % ( - abspath(file2, nm, "test"), abspath(file1, nm, "source")), file=fe) - print("", file=fe) - print("
diff file
" % abspath( - diff, nm, "diff"), file=fe) - print("", file=fe) - print('

Log

{}
'.format("\n".join(result["log"])), file=fe) - print("Back To Results List", file=fe) - print("", file=fe) - fe.close() - t = result["times"] - print("" % ( - time.ctime(t["start"]), time.ctime(t["end"]), t["end"] - t["start"]), file=fi) - - print("
TestResultStart TimeEnd TimeTime
TestResultStart TimeEnd TimeTime
%sOKFail%s%s%s
", file=fi) - fi.close() - if args.html: - webbrowser.open("file://%s/index.html" % os.getcwd()) - os.chdir(root) - -if args.package or args.dropbox: - import tarfile - tnm = "results_%s_%s_%s.tar.bz2" % (os.uname()[0],os.uname()[1],time.strftime("%Y-%m-%d_%H:%M")) - t = tarfile.open(tnm, "w:bz2") - t.add("tests_html") - t.add("tests_html") - t.close() - if args.verbosity > 0: - print("Packaged Result Info in:", tnm) -if args.dropbox: - import dropbox - dbx = dropbox.Dropbox(os.environ.get("DROPBOX_TOKEN","")) - f=open(tnm,"rb") - dbx.files_upload(f.read(),"/%s"%tnm) - f.close() +test_suite_name = 'thermo' +workdir = os.getcwd() +runner = cdat_info.TestRunnerBase(test_suite_name, get_sample_data=True) +ret_code = runner.run(workdir) -sys.exit(len(failed)) +sys.exit(ret_code) From 3b3d1f1889209c87b7895f4d0e6fadc297f532d0 Mon Sep 17 00:00:00 2001 From: Muryanto Date: Fri, 6 Jul 2018 16:43:39 -0700 Subject: [PATCH 07/13] updated .circleci/config.yml to do conda_upload and migrate run_tests.py to use cdat_info & testsrunner --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4a5c1f1..a97b370 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -46,11 +46,11 @@ aliases: source activate py2 python run_tests.py -H -v2 RESULT=$? - echo "*** py2 test result: "${RESULT} + echo "**** py2 test result: "${RESULT} source activate py3 python run_tests.py -H -v2 PY3_RESULT=$? - echo "*** py3 test result: "${PY3_RESULT} + echo "**** py3 test result: "${PY3_RESULT} RESULT=$(( $RESULT + $PY3_RESULT)) exit $RESULT From 3f3fee832ff249ebdda23a23267e050f4cf38ba4 Mon Sep 17 00:00:00 2001 From: Muryanto Date: Fri, 6 Jul 2018 17:11:05 -0700 Subject: [PATCH 08/13] updated .circleci/config.yml to do conda_upload and migrate run_tests.py to use cdat_info & testsrunner --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a97b370..9d6eadd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,8 +22,8 @@ aliases: conda config --set always_yes yes --set changeps1 no conda update -y -q conda conda config --set anaconda_upload no - conda create -n py2 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner udunits2 "python<3" numpy - conda create -n py3 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner "python>3" udunits2 numpy + conda create -n py2 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner udunits2 "python<3" numpy=1.14 + conda create -n py3 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner "python>3" udunits2 numpy=1.14 - &setup_genutil From f697772539a359f6ce354c1ffa765d0961093c23 Mon Sep 17 00:00:00 2001 From: Muryanto Date: Fri, 6 Jul 2018 17:17:20 -0700 Subject: [PATCH 09/13] updated .circleci/config.yml to do conda_upload and migrate run_tests.py to use cdat_info & testsrunner --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9d6eadd..88dcf9f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,8 +22,8 @@ aliases: conda config --set always_yes yes --set changeps1 no conda update -y -q conda conda config --set anaconda_upload no - conda create -n py2 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner udunits2 "python<3" numpy=1.14 - conda create -n py3 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner "python>3" udunits2 numpy=1.14 + conda create -n py2 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner udunits2 "python<3" numpy=1.13 + conda create -n py3 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner "python>3" udunits2 numpy=1.13 - &setup_genutil From 5e1b31d703caac621002da03fecd7d799a7b098d Mon Sep 17 00:00:00 2001 From: Muryanto Date: Fri, 6 Jul 2018 17:35:29 -0700 Subject: [PATCH 10/13] updated .circleci/config.yml to do conda_upload and migrate run_tests.py to use cdat_info & testsrunner --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 88dcf9f..a97b370 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,8 +22,8 @@ aliases: conda config --set always_yes yes --set changeps1 no conda update -y -q conda conda config --set anaconda_upload no - conda create -n py2 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner udunits2 "python<3" numpy=1.13 - conda create -n py3 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner "python>3" udunits2 numpy=1.13 + conda create -n py2 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner udunits2 "python<3" numpy + conda create -n py3 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner "python>3" udunits2 numpy - &setup_genutil From 3519cca8704c1a7f338120cd38ee7b02301f0ebe Mon Sep 17 00:00:00 2001 From: Charles Doutriaux Date: Mon, 9 Jul 2018 10:53:51 -0700 Subject: [PATCH 11/13] trying to add LDSHARED FLAGS for correc t comiplerS --- .circleci/config.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a97b370..31f145b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,8 +22,8 @@ aliases: conda config --set always_yes yes --set changeps1 no conda update -y -q conda conda config --set anaconda_upload no - conda create -n py2 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner udunits2 "python<3" numpy - conda create -n py3 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner "python>3" udunits2 numpy + conda create -n py2 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner udunits2 "python<3" $CONDA_COMPILERS + conda create -n py3 -c cdat/label/nightly -c conda-forge -c cdat cdms2 cdat_info testsrunner udunits2 "python>3" $CONDA_COMPILERS - &setup_genutil @@ -32,10 +32,10 @@ aliases: export PATH=$WORKDIR/miniconda/bin:$PATH export UVCDAT_ANONYMOUS_LOG=False source activate py3 - python setup.py install + LDSHARED=${LDSHARED_FLAGS} python setup.py install source activate py2 rm -rf build - python setup.py install + LDSHARED=${LDSHARED_FLAGS} python setup.py install - &run_genutil_tests name: run_genutil_tests @@ -82,6 +82,8 @@ jobs: environment: WORKDIR: "workspace/test_macos_genutil" OS: "osx-64" + CONDA_COMPILERS: "clang_osx-64 gfortran_osx-64" + LDSHARED_FLAGS: "-bundle -undefined dynamic_lookup" steps: - checkout - run: *setup_miniconda @@ -99,6 +101,8 @@ jobs: environment: WORKDIR: "workspace/test_linux_genutil" OS: "linux-64" + CONDA_COMPILERS: "gcc_linux-64 gfortran_linux-64" + LDSHARED_FLAGS: "-shared -pthread" steps: - checkout - run: *setup_miniconda From dfdc6958711ef1db71e3bdf16f1b0166b9d5d766 Mon Sep 17 00:00:00 2001 From: Charles Doutriaux Date: Mon, 9 Jul 2018 11:09:01 -0700 Subject: [PATCH 12/13] forgt the --- .circleci/config.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 31f145b..76ee82b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -32,10 +32,11 @@ aliases: export PATH=$WORKDIR/miniconda/bin:$PATH export UVCDAT_ANONYMOUS_LOG=False source activate py3 - LDSHARED=${LDSHARED_FLAGS} python setup.py install + export LDSHARED="$CC ${LDSHARED_FLAGS}" + LDSHARED=${LDSHARED} python setup.py install source activate py2 rm -rf build - LDSHARED=${LDSHARED_FLAGS} python setup.py install + LDSHARED=${LDSHARED} python setup.py install - &run_genutil_tests name: run_genutil_tests From 11f936e803a46ce035effe449e02a8acb9df58d4 Mon Sep 17 00:00:00 2001 From: Charles Doutriaux Date: Mon, 9 Jul 2018 11:18:45 -0700 Subject: [PATCH 13/13] mac needs set +/-e --- .circleci/config.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 76ee82b..ff7fec8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -31,10 +31,14 @@ aliases: command: | export PATH=$WORKDIR/miniconda/bin:$PATH export UVCDAT_ANONYMOUS_LOG=False + set +e source activate py3 + set -e export LDSHARED="$CC ${LDSHARED_FLAGS}" LDSHARED=${LDSHARED} python setup.py install + set +e source activate py2 + set -e rm -rf build LDSHARED=${LDSHARED} python setup.py install @@ -43,12 +47,15 @@ aliases: command: | export PATH=$WORKDIR/miniconda/bin:$PATH export UVCDAT_ANONYMOUS_LOG=False - set -e + set +e source activate py2 + set -e python run_tests.py -H -v2 RESULT=$? echo "**** py2 test result: "${RESULT} + set +e source activate py3 + set -e python run_tests.py -H -v2 PY3_RESULT=$? echo "**** py3 test result: "${PY3_RESULT}