From f63820d4c5357a1ff398a4b872afd2e15de0182e Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 25 Jun 2020 11:32:00 -0600 Subject: [PATCH 01/46] Adding Pyutilib testing --- .github/workflows/pr_master_test.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/workflows/pr_master_test.yml diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml new file mode 100644 index 00000000..2fd09eff --- /dev/null +++ b/.github/workflows/pr_master_test.yml @@ -0,0 +1 @@ +name: GitHub CI on: push: branches: - master pull_request: branches: - master defaults: run: shell: bash -l {0} env: PYTHONWARNINGS: ignore::UserWarning PYTHON_BASE_PKGS: > coverage xlrd codecov jobs: pyomo-tests: name: ${{ matrix.TARGET }}/${{ matrix.python }}${{ matrix.NAME }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] python: [2.7, 3.5, 3.6, 3.7, 3.8, pypy2, pypy3] include: - os: ubuntu-latest TARGET: linux PYENV: pip - os: macos-latest TARGET: osx PYENV: pip - os: windows-latest TARGET: win PYENV: conda PACKAGES: setuptools, coverage, nose, xlrd exclude: - {os: macos-latest, python: pypy2} - {os: macos-latest, python: pypy3} - {os: windows-latest, python: pypy2} - {os: windows-latest, python: pypy3} steps: - uses: actions/checkout@v2 # Ideally we would cache the conda downloads; however, each cache is # over 850MB, and with 5 python versions, that would consume 4.2 of # the 5 GB GitHub allows. # #- name: Conda package cache # uses: actions/cache@v1 # if: matrix.PYENV == 'conda' # id: conda-cache # with: # path: cache/conda # key: conda-v2-${{runner.os}}-${{matrix.python}} - name: Pip package cache uses: actions/cache@v1 if: matrix.PYENV == 'pip' id: pip-cache with: path: cache/pip key: pip-v2-${{runner.os}}-${{matrix.python}} - name: OS package cache uses: actions/cache@v1 id: os-cache with: path: cache/os key: pkg-v2-${{runner.os}} - name: TPL package download cache uses: actions/cache@v1 id: download-cache with: path: cache/download key: download-v3-${{runner.os}} - name: Set up Python ${{ matrix.python }} if: matrix.PYENV == 'pip' uses: actions/setup-python@v1 with: python-version: ${{ matrix.python }} - name: Set up Miniconda Python ${{ matrix.python }} if: matrix.PYENV == 'conda' uses: goanpeca/setup-miniconda@v1 with: auto-update-conda: true python-version: ${{ matrix.python }} # GitHub actions is very fragile when it comes to setting up various # Python interpreters, expecially the setup-miniconda interface. # Per the setup-miniconda documentation, it is important to always # invoke bash as a login shell ('shell: bash -l {0}') so that the # conda environment is properly activated. However, running within # a login shell appears to foul up the link to python from # setup-python. Further, we have anecdotal evidence that # subprocesses invoked through $(python -c ...) and `python -c ...` # will not pick up the python activated by setup-python on OSX. # # Our solution is to define a PYTHON_EXE environment variable that # can be explicitly called within subprocess calls to reach the # correct interpreter. Note that we must explicitly run in a *non* # login shell to set up the environment variable for the # setup-python environments. - name: Install Python Packages (pip) if: matrix.PYENV == 'pip' shell: bash run: | python -m pip install --cache-dir cache/pip --upgrade pip pip install --cache-dir cache/pip ${PYTHON_BASE_PKGS} if [[ ${{matrix.python}} == pypy ]] || [[ ${{matrix.python}} == 2.7 ]]; then pip install --cache-dir cache/pip pyro else pip install --cache-dir cache/pip pyro4 fi if [[ ${{matrix.python}} == 3.4 ]]; then pip install --cache-dir cache/pip pyyaml<=5.2 elif [[ ${{matrix.python}} != 3.6 ]]; then pip install --cache-dir cache/pip pyyaml fi python -c 'import sys; print("::set-env name=PYTHON_EXE::%s" \ % (sys.executable,))' - name: Install Python packages (conda) if: matrix.PYENV == 'conda' run: | mkdir -p $GITHUB_WORKSPACE/cache/conda conda config --set always_yes yes conda config --set auto_update_conda false conda config --prepend pkgs_dirs $GITHUB_WORKSPACE/cache/conda conda info conda config --show-sources conda list --show-channel-urls conda install -q -y -c conda-forge ${{matrix.PACKAGES}} python -c 'import sys; print("::set-env name=PYTHON_EXE::%s" \ % (sys.executable,))' - name: Run Pyutilib tests run: | test.pyutilib --cat=all --cov - name: Process code coverage report env: CODECOV_NAME: ${{matrix.TARGET}}/${{matrix.python}}${{matrix.NAME}} run: | while : ; do curl --retry 8 -L https://codecov.io/bash -o codecov.sh bash codecov.sh -Z -X gcov -f coverage.xml if test $? == 0; then break elif test $i -ge 4; then exit 1 fi DELAY=$(( RANDOM % 30 + 30)) echo "Pausing $DELAY seconds before re-attempting upload" sleep $DELAY done \ No newline at end of file From 575fa0e6151b05d60d07c14188733547a997f930 Mon Sep 17 00:00:00 2001 From: Miranda Mundt <55767766+mrmundt@users.noreply.github.com> Date: Thu, 25 Jun 2020 11:35:18 -0600 Subject: [PATCH 02/46] Removing unnecessary caches --- .github/workflows/pr_master_test.yml | 154 ++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 2fd09eff..26565106 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -1 +1,153 @@ -name: GitHub CI on: push: branches: - master pull_request: branches: - master defaults: run: shell: bash -l {0} env: PYTHONWARNINGS: ignore::UserWarning PYTHON_BASE_PKGS: > coverage xlrd codecov jobs: pyomo-tests: name: ${{ matrix.TARGET }}/${{ matrix.python }}${{ matrix.NAME }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] python: [2.7, 3.5, 3.6, 3.7, 3.8, pypy2, pypy3] include: - os: ubuntu-latest TARGET: linux PYENV: pip - os: macos-latest TARGET: osx PYENV: pip - os: windows-latest TARGET: win PYENV: conda PACKAGES: setuptools, coverage, nose, xlrd exclude: - {os: macos-latest, python: pypy2} - {os: macos-latest, python: pypy3} - {os: windows-latest, python: pypy2} - {os: windows-latest, python: pypy3} steps: - uses: actions/checkout@v2 # Ideally we would cache the conda downloads; however, each cache is # over 850MB, and with 5 python versions, that would consume 4.2 of # the 5 GB GitHub allows. # #- name: Conda package cache # uses: actions/cache@v1 # if: matrix.PYENV == 'conda' # id: conda-cache # with: # path: cache/conda # key: conda-v2-${{runner.os}}-${{matrix.python}} - name: Pip package cache uses: actions/cache@v1 if: matrix.PYENV == 'pip' id: pip-cache with: path: cache/pip key: pip-v2-${{runner.os}}-${{matrix.python}} - name: OS package cache uses: actions/cache@v1 id: os-cache with: path: cache/os key: pkg-v2-${{runner.os}} - name: TPL package download cache uses: actions/cache@v1 id: download-cache with: path: cache/download key: download-v3-${{runner.os}} - name: Set up Python ${{ matrix.python }} if: matrix.PYENV == 'pip' uses: actions/setup-python@v1 with: python-version: ${{ matrix.python }} - name: Set up Miniconda Python ${{ matrix.python }} if: matrix.PYENV == 'conda' uses: goanpeca/setup-miniconda@v1 with: auto-update-conda: true python-version: ${{ matrix.python }} # GitHub actions is very fragile when it comes to setting up various # Python interpreters, expecially the setup-miniconda interface. # Per the setup-miniconda documentation, it is important to always # invoke bash as a login shell ('shell: bash -l {0}') so that the # conda environment is properly activated. However, running within # a login shell appears to foul up the link to python from # setup-python. Further, we have anecdotal evidence that # subprocesses invoked through $(python -c ...) and `python -c ...` # will not pick up the python activated by setup-python on OSX. # # Our solution is to define a PYTHON_EXE environment variable that # can be explicitly called within subprocess calls to reach the # correct interpreter. Note that we must explicitly run in a *non* # login shell to set up the environment variable for the # setup-python environments. - name: Install Python Packages (pip) if: matrix.PYENV == 'pip' shell: bash run: | python -m pip install --cache-dir cache/pip --upgrade pip pip install --cache-dir cache/pip ${PYTHON_BASE_PKGS} if [[ ${{matrix.python}} == pypy ]] || [[ ${{matrix.python}} == 2.7 ]]; then pip install --cache-dir cache/pip pyro else pip install --cache-dir cache/pip pyro4 fi if [[ ${{matrix.python}} == 3.4 ]]; then pip install --cache-dir cache/pip pyyaml<=5.2 elif [[ ${{matrix.python}} != 3.6 ]]; then pip install --cache-dir cache/pip pyyaml fi python -c 'import sys; print("::set-env name=PYTHON_EXE::%s" \ % (sys.executable,))' - name: Install Python packages (conda) if: matrix.PYENV == 'conda' run: | mkdir -p $GITHUB_WORKSPACE/cache/conda conda config --set always_yes yes conda config --set auto_update_conda false conda config --prepend pkgs_dirs $GITHUB_WORKSPACE/cache/conda conda info conda config --show-sources conda list --show-channel-urls conda install -q -y -c conda-forge ${{matrix.PACKAGES}} python -c 'import sys; print("::set-env name=PYTHON_EXE::%s" \ % (sys.executable,))' - name: Run Pyutilib tests run: | test.pyutilib --cat=all --cov - name: Process code coverage report env: CODECOV_NAME: ${{matrix.TARGET}}/${{matrix.python}}${{matrix.NAME}} run: | while : ; do curl --retry 8 -L https://codecov.io/bash -o codecov.sh bash codecov.sh -Z -X gcov -f coverage.xml if test $? == 0; then break elif test $i -ge 4; then exit 1 fi DELAY=$(( RANDOM % 30 + 30)) echo "Pausing $DELAY seconds before re-attempting upload" sleep $DELAY done \ No newline at end of file +name: GitHub CI + +on: + push: + branches: + - master + pull_request: + branches: + - master + +defaults: + run: + shell: bash -l {0} + +env: + PYTHONWARNINGS: ignore::UserWarning + PYTHON_BASE_PKGS: > + coverage xlrd codecov + +jobs: + pyomo-tests: + name: ${{ matrix.TARGET }}/${{ matrix.python }}${{ matrix.NAME }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + python: [2.7, 3.5, 3.6, 3.7, 3.8, pypy2, pypy3] + include: + - os: ubuntu-latest + TARGET: linux + PYENV: pip + + - os: macos-latest + TARGET: osx + PYENV: pip + + - os: windows-latest + TARGET: win + PYENV: conda + PACKAGES: setuptools, coverage, nose, xlrd + + exclude: + - {os: macos-latest, python: pypy2} + - {os: macos-latest, python: pypy3} + - {os: windows-latest, python: pypy2} + - {os: windows-latest, python: pypy3} + + steps: + - uses: actions/checkout@v2 + + # Ideally we would cache the conda downloads; however, each cache is + # over 850MB, and with 5 python versions, that would consume 4.2 of + # the 5 GB GitHub allows. + # + #- name: Conda package cache + # uses: actions/cache@v1 + # if: matrix.PYENV == 'conda' + # id: conda-cache + # with: + # path: cache/conda + # key: conda-v2-${{runner.os}}-${{matrix.python}} + + - name: Pip package cache + uses: actions/cache@v1 + if: matrix.PYENV == 'pip' + id: pip-cache + with: + path: cache/pip + key: pip-v2-${{runner.os}}-${{matrix.python}} + + - name: Set up Python ${{ matrix.python }} + if: matrix.PYENV == 'pip' + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python }} + + - name: Set up Miniconda Python ${{ matrix.python }} + if: matrix.PYENV == 'conda' + uses: goanpeca/setup-miniconda@v1 + with: + auto-update-conda: true + python-version: ${{ matrix.python }} + + # GitHub actions is very fragile when it comes to setting up various + # Python interpreters, expecially the setup-miniconda interface. + # Per the setup-miniconda documentation, it is important to always + # invoke bash as a login shell ('shell: bash -l {0}') so that the + # conda environment is properly activated. However, running within + # a login shell appears to foul up the link to python from + # setup-python. Further, we have anecdotal evidence that + # subprocesses invoked through $(python -c ...) and `python -c ...` + # will not pick up the python activated by setup-python on OSX. + # + # Our solution is to define a PYTHON_EXE environment variable that + # can be explicitly called within subprocess calls to reach the + # correct interpreter. Note that we must explicitly run in a *non* + # login shell to set up the environment variable for the + # setup-python environments. + + - name: Install Python Packages (pip) + if: matrix.PYENV == 'pip' + shell: bash + run: | + python -m pip install --cache-dir cache/pip --upgrade pip + pip install --cache-dir cache/pip ${PYTHON_BASE_PKGS} + if [[ ${{matrix.python}} == pypy ]] || [[ ${{matrix.python}} == 2.7 ]]; then + pip install --cache-dir cache/pip pyro + else + pip install --cache-dir cache/pip pyro4 + fi + if [[ ${{matrix.python}} == 3.4 ]]; then + pip install --cache-dir cache/pip pyyaml<=5.2 + elif [[ ${{matrix.python}} != 3.6 ]]; then + pip install --cache-dir cache/pip pyyaml + fi + python -c 'import sys; print("::set-env name=PYTHON_EXE::%s" \ + % (sys.executable,))' + + - name: Install Python packages (conda) + if: matrix.PYENV == 'conda' + run: | + mkdir -p $GITHUB_WORKSPACE/cache/conda + conda config --set always_yes yes + conda config --set auto_update_conda false + conda config --prepend pkgs_dirs $GITHUB_WORKSPACE/cache/conda + conda info + conda config --show-sources + conda list --show-channel-urls + conda install -q -y -c conda-forge ${{matrix.PACKAGES}} + python -c 'import sys; print("::set-env name=PYTHON_EXE::%s" \ + % (sys.executable,))' + + - name: Run Pyutilib tests + run: | + test.pyutilib --cat=all --cov + + - name: Process code coverage report + env: + CODECOV_NAME: ${{matrix.TARGET}}/${{matrix.python}}${{matrix.NAME}} + run: | + while : ; do + curl --retry 8 -L https://codecov.io/bash -o codecov.sh + bash codecov.sh -Z -X gcov -f coverage.xml + if test $? == 0; then + break + elif test $i -ge 4; then + exit 1 + fi + DELAY=$(( RANDOM % 30 + 30)) + echo "Pausing $DELAY seconds before re-attempting upload" + sleep $DELAY + done From 7b618f0fe2c2ab5f92245f68a0e08e2949bfc1ce Mon Sep 17 00:00:00 2001 From: Miranda Mundt <55767766+mrmundt@users.noreply.github.com> Date: Thu, 25 Jun 2020 11:39:43 -0600 Subject: [PATCH 03/46] Pyutilib was not actually installed --- .github/workflows/pr_master_test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 26565106..7f435627 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -131,6 +131,10 @@ jobs: python -c 'import sys; print("::set-env name=PYTHON_EXE::%s" \ % (sys.executable,))' + - name: Install Pyutilib + run: | + python setup.py develop + - name: Run Pyutilib tests run: | test.pyutilib --cat=all --cov From 3dae484887ed52fffc48f8302660c60dc5d04216 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 25 Jun 2020 11:46:00 -0600 Subject: [PATCH 04/46] Attempting to get coverage working --- .github/workflows/pr_master_test.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 7f435627..cb39b670 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -135,6 +135,24 @@ jobs: run: | python setup.py develop + - name: Set up coverage tracking + run: | + if test "${{matrix.TARGET}}" == win; then + COVERAGE_BASE=${GITHUB_WORKSPACE}\\.cover + else + COVERAGE_BASE=${GITHUB_WORKSPACE}/.cover + fi + COVERAGE_RC=${COVERAGE_BASE}_rc + echo "::set-env name=COVERAGE_RCFILE::$COVERAGE_RC" + echo "::set-env name=COVERAGE_PROCESS_START::$COVERAGE_RC" + cp ${GITHUB_WORKSPACE}/.coveragerc ${COVERAGE_RC} + echo "data_file=${COVERAGE_BASE}age" >> ${COVERAGE_RC} + SITE_PACKAGES=$($PYTHON_EXE -c "from distutils.sysconfig import \ + get_python_lib; print(get_python_lib())") + echo "Python site-packages: $SITE_PACKAGES" + echo 'import coverage; coverage.process_startup()' \ + > ${SITE_PACKAGES}/run_coverage_at_startup.pth + - name: Run Pyutilib tests run: | test.pyutilib --cat=all --cov @@ -143,6 +161,10 @@ jobs: env: CODECOV_NAME: ${{matrix.TARGET}}/${{matrix.python}}${{matrix.NAME}} run: | + coverage combine + coverage report -i + coverage xml -i + i=0 while : ; do curl --retry 8 -L https://codecov.io/bash -o codecov.sh bash codecov.sh -Z -X gcov -f coverage.xml From 7a84afce066867fa734a5eb402f98b5351cdaf21 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 25 Jun 2020 11:51:19 -0600 Subject: [PATCH 05/46] Coverage is causing issues --- .github/workflows/pr_master_test.yml | 35 +--------------------------- 1 file changed, 1 insertion(+), 34 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index cb39b670..294463a8 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -135,24 +135,6 @@ jobs: run: | python setup.py develop - - name: Set up coverage tracking - run: | - if test "${{matrix.TARGET}}" == win; then - COVERAGE_BASE=${GITHUB_WORKSPACE}\\.cover - else - COVERAGE_BASE=${GITHUB_WORKSPACE}/.cover - fi - COVERAGE_RC=${COVERAGE_BASE}_rc - echo "::set-env name=COVERAGE_RCFILE::$COVERAGE_RC" - echo "::set-env name=COVERAGE_PROCESS_START::$COVERAGE_RC" - cp ${GITHUB_WORKSPACE}/.coveragerc ${COVERAGE_RC} - echo "data_file=${COVERAGE_BASE}age" >> ${COVERAGE_RC} - SITE_PACKAGES=$($PYTHON_EXE -c "from distutils.sysconfig import \ - get_python_lib; print(get_python_lib())") - echo "Python site-packages: $SITE_PACKAGES" - echo 'import coverage; coverage.process_startup()' \ - > ${SITE_PACKAGES}/run_coverage_at_startup.pth - - name: Run Pyutilib tests run: | test.pyutilib --cat=all --cov @@ -161,19 +143,4 @@ jobs: env: CODECOV_NAME: ${{matrix.TARGET}}/${{matrix.python}}${{matrix.NAME}} run: | - coverage combine - coverage report -i - coverage xml -i - i=0 - while : ; do - curl --retry 8 -L https://codecov.io/bash -o codecov.sh - bash codecov.sh -Z -X gcov -f coverage.xml - if test $? == 0; then - break - elif test $i -ge 4; then - exit 1 - fi - DELAY=$(( RANDOM % 30 + 30)) - echo "Pausing $DELAY seconds before re-attempting upload" - sleep $DELAY - done + codecov From dea076a629085cd752c24c231afcecb20e303f2d Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 25 Jun 2020 12:02:16 -0600 Subject: [PATCH 06/46] Trying upload again --- .github/workflows/pr_master_test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 294463a8..ff653b01 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -137,10 +137,10 @@ jobs: - name: Run Pyutilib tests run: | - test.pyutilib --cat=all --cov + test.pyutilib --cat=all --cov -v - name: Process code coverage report env: CODECOV_NAME: ${{matrix.TARGET}}/${{matrix.python}}${{matrix.NAME}} run: | - codecov + bash codecov.sh -Z -X gcov -f TEST-pyutilib.xml From b19117b7382bfc2f44ff557ceb6db34184868804 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 25 Jun 2020 12:06:00 -0600 Subject: [PATCH 07/46] Was missing one step --- .github/workflows/pr_master_test.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index ff653b01..41460ec3 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -38,7 +38,7 @@ jobs: - os: windows-latest TARGET: win PYENV: conda - PACKAGES: setuptools, coverage, nose, xlrd + PACKAGES: setuptools coverage nose xlrd exclude: - {os: macos-latest, python: pypy2} @@ -127,7 +127,7 @@ jobs: conda info conda config --show-sources conda list --show-channel-urls - conda install -q -y -c conda-forge ${{matrix.PACKAGES}} + conda install -q -y -c conda-forge -c anaconda ${{matrix.PACKAGES}} python -c 'import sys; print("::set-env name=PYTHON_EXE::%s" \ % (sys.executable,))' @@ -143,4 +143,5 @@ jobs: env: CODECOV_NAME: ${{matrix.TARGET}}/${{matrix.python}}${{matrix.NAME}} run: | + curl --retry 8 -L https://codecov.io/bash -o codecov.sh bash codecov.sh -Z -X gcov -f TEST-pyutilib.xml From 05a6076e0c700bfd6f9287441e01971005b1c057 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Tue, 30 Jun 2020 11:13:57 -0600 Subject: [PATCH 08/46] Updating with better codecov retry --- .github/workflows/pr_master_test.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 41460ec3..36d50fbf 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -143,5 +143,15 @@ jobs: env: CODECOV_NAME: ${{matrix.TARGET}}/${{matrix.python}}${{matrix.NAME}} run: | - curl --retry 8 -L https://codecov.io/bash -o codecov.sh - bash codecov.sh -Z -X gcov -f TEST-pyutilib.xml + while : ; do + curl --retry 8 -L https://codecov.io/bash -o codecov.sh \ + && bash codecov.sh -Z -X gcov -f coverage.xml + if test $? == 0; then + break + elif test $i -ge 4; then + exit 1 + fi + DELAY=$(( RANDOM % 30 + 30)) + echo "Pausing $DELAY seconds before re-attempting upload" + sleep $DELAY + done From da5a7998f3d71743f7620fe2e6f97fc175ec2d97 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Tue, 30 Jun 2020 11:18:18 -0600 Subject: [PATCH 09/46] Accident - wrong XML file name --- .github/workflows/pr_master_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 36d50fbf..4917ccfb 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -145,7 +145,7 @@ jobs: run: | while : ; do curl --retry 8 -L https://codecov.io/bash -o codecov.sh \ - && bash codecov.sh -Z -X gcov -f coverage.xml + && bash codecov.sh -Z -X gcov -f TEST-pyutilib.xml if test $? == 0; then break elif test $i -ge 4; then From 981cf9523dc085b6528fe6f7708538be88866e14 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Tue, 30 Jun 2020 11:40:55 -0600 Subject: [PATCH 10/46] Incorporating suggested changes --- .github/workflows/pr_master_test.yml | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 4917ccfb..66dec12e 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -135,17 +135,40 @@ jobs: run: | python setup.py develop + - name: Set up coverage tracking + run: | + if test "${{matrix.TARGET}}" == win; then + COVERAGE_BASE=${GITHUB_WORKSPACE}\\.cover + else + COVERAGE_BASE=${GITHUB_WORKSPACE}/.cover + fi + COVERAGE_RC=${COVERAGE_BASE}_rc + echo "::set-env name=COVERAGE_RCFILE::$COVERAGE_RC" + echo "::set-env name=COVERAGE_PROCESS_START::$COVERAGE_RC" + cp ${GITHUB_WORKSPACE}/.coveragerc ${COVERAGE_RC} + echo "data_file=${COVERAGE_BASE}age" >> ${COVERAGE_RC} + SITE_PACKAGES=$($PYTHON_EXE -c "from distutils.sysconfig import \ + get_python_lib; print(get_python_lib())") + echo "Python site-packages: $SITE_PACKAGES" + echo 'import coverage; coverage.process_startup()' \ + > ${SITE_PACKAGES}/run_coverage_at_startup.pth + - name: Run Pyutilib tests run: | - test.pyutilib --cat=all --cov -v + test.pyutilib --cat=all -v - name: Process code coverage report env: CODECOV_NAME: ${{matrix.TARGET}}/${{matrix.python}}${{matrix.NAME}} run: | + coverage combine + coverage report -i + coverage xml -i + i=0 + set +e while : ; do curl --retry 8 -L https://codecov.io/bash -o codecov.sh \ - && bash codecov.sh -Z -X gcov -f TEST-pyutilib.xml + && bash codecov.sh -Z -X gcov -f coverage.xml if test $? == 0; then break elif test $i -ge 4; then From 44c2b97eafa9002083d15310ee3e915fc9a391b8 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Tue, 30 Jun 2020 12:26:20 -0600 Subject: [PATCH 11/46] Changing Python call for install --- .github/workflows/pr_master_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 66dec12e..06c1fa75 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -133,7 +133,7 @@ jobs: - name: Install Pyutilib run: | - python setup.py develop + $PYTHON_EXE setup.py develop - name: Set up coverage tracking run: | From 53282d9f591ad0281c338dc90904332918832dce Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Tue, 30 Jun 2020 13:21:32 -0600 Subject: [PATCH 12/46] Removing codecov --- .github/workflows/pr_master_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 06c1fa75..4dc8e5d3 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -15,7 +15,7 @@ defaults: env: PYTHONWARNINGS: ignore::UserWarning PYTHON_BASE_PKGS: > - coverage xlrd codecov + coverage xlrd jobs: pyomo-tests: From bffaf979e16aec019629b8784c5a7191fc558475 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 08:47:44 -0600 Subject: [PATCH 13/46] Adding Pyomo master script changes --- .github/workflows/pr_master_test.yml | 41 ++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 4dc8e5d3..0a7339e5 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -3,10 +3,10 @@ name: GitHub CI on: push: branches: - - master - pull_request: - branches: - - master + - github_actions + # pull_request: + # branches: + # - master defaults: run: @@ -69,6 +69,17 @@ jobs: path: cache/pip key: pip-v2-${{runner.os}}-${{matrix.python}} + - name: Configure curl + run: | + CURLRC="$(cat < ${GITHUB_WORKSPACE}/.curlrc + echo "$CURLRC" > ${GITHUB_WORKSPACE}/_curlrc + echo "::set-env name=CURL_HOME::$GITHUB_WORKSPACE" + - name: Set up Python ${{ matrix.python }} if: matrix.PYENV == 'pip' uses: actions/setup-python@v1 @@ -164,14 +175,28 @@ jobs: coverage combine coverage report -i coverage xml -i - i=0 set +e + # Always attempt to update the codecov script, but fall back on + # the previously cached script if it fails + CODECOV="${GITHUB_WORKSPACE}/cache/download/codecov.sh" + for i in `seq 3`; do + echo "Downloading current codecov script (attempt ${i})" + curl -L https://codecov.io/bash -o $CODECOV + if test $? == 0; then + break + fi + DELAY=$(( RANDOM % 30 + 30)) + echo "Pausing $DELAY seconds before re-attempting download" + sleep $DELAY + done + i=0 while : ; do - curl --retry 8 -L https://codecov.io/bash -o codecov.sh \ - && bash codecov.sh -Z -X gcov -f coverage.xml + ((i+=1)) + echo "Uploading coverage to codecov (attempt ${i})" + bash $CODECOV -Z -X gcov -X s3 -f coverage.xml if test $? == 0; then break - elif test $i -ge 4; then + elif test $i -ge 5; then exit 1 fi DELAY=$(( RANDOM % 30 + 30)) From 9a7b45e0943638a00875e34d9febf51feaccaaf7 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 09:15:22 -0600 Subject: [PATCH 14/46] What is in the coverage file --- .github/workflows/pr_master_test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 0a7339e5..41c401a8 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -163,6 +163,7 @@ jobs: echo "Python site-packages: $SITE_PACKAGES" echo 'import coverage; coverage.process_startup()' \ > ${SITE_PACKAGES}/run_coverage_at_startup.pth + cat ${COVERAGE_RC} - name: Run Pyutilib tests run: | From a6e875c7039bc5b58e0b92e929199e916a3bfff1 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 09:17:02 -0600 Subject: [PATCH 15/46] Adding one more line --- .github/workflows/pr_master_test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 41c401a8..8c36bbab 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -157,6 +157,7 @@ jobs: echo "::set-env name=COVERAGE_RCFILE::$COVERAGE_RC" echo "::set-env name=COVERAGE_PROCESS_START::$COVERAGE_RC" cp ${GITHUB_WORKSPACE}/.coveragerc ${COVERAGE_RC} + echo "[run]" >> ${COVERAGE_RC} echo "data_file=${COVERAGE_BASE}age" >> ${COVERAGE_RC} SITE_PACKAGES=$($PYTHON_EXE -c "from distutils.sysconfig import \ get_python_lib; print(get_python_lib())") From e2995eac3da48d2a95c257bca858611acaf5df6f Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 09:23:16 -0600 Subject: [PATCH 16/46] What's going on with the coverage --- .github/workflows/pr_master_test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 8c36bbab..e01982b7 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -174,6 +174,7 @@ jobs: env: CODECOV_NAME: ${{matrix.TARGET}}/${{matrix.python}}${{matrix.NAME}} run: | + ls coverage combine coverage report -i coverage xml -i From a17c65a8aad1cd167468995b6bdfcfc5d7d93345 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 09:40:57 -0600 Subject: [PATCH 17/46] Adding cache --- .github/workflows/pr_master_test.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index e01982b7..0042be80 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -69,6 +69,13 @@ jobs: path: cache/pip key: pip-v2-${{runner.os}}-${{matrix.python}} + - name: TPL package download cache + uses: actions/cache@v1 + id: download-cache + with: + path: cache/download + key: download-v4-${{runner.os}} + - name: Configure curl run: | CURLRC="$(cat < Date: Wed, 1 Jul 2020 09:58:57 -0600 Subject: [PATCH 18/46] Trying again: --- .github/workflows/pr_master_test.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 0042be80..3ceef288 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -69,7 +69,7 @@ jobs: path: cache/pip key: pip-v2-${{runner.os}}-${{matrix.python}} - - name: TPL package download cache + - name: Download cache uses: actions/cache@v1 id: download-cache with: @@ -182,16 +182,17 @@ jobs: CODECOV_NAME: ${{matrix.TARGET}}/${{matrix.python}}${{matrix.NAME}} run: | ls -la - coverage combine + ls -la ${GITHUB_WORKSPACE}/cache coverage report -i coverage xml -i + ls -la set +e # Always attempt to update the codecov script, but fall back on # the previously cached script if it fails CODECOV="${GITHUB_WORKSPACE}/cache/download/codecov.sh" for i in `seq 3`; do echo "Downloading current codecov script (attempt ${i})" - curl -L https://codecov.io/bash -o $CODECOV + curl -L https://codecov.io/bash -O $CODECOV if test $? == 0; then break fi From 53c5544dc44da1e19232f016ba4a0fb334b56cd0 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 10:56:05 -0600 Subject: [PATCH 19/46] Trying again: With changes --- .github/workflows/pr_master_test.yml | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 3ceef288..7b3373ce 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -49,20 +49,8 @@ jobs: steps: - uses: actions/checkout@v2 - # Ideally we would cache the conda downloads; however, each cache is - # over 850MB, and with 5 python versions, that would consume 4.2 of - # the 5 GB GitHub allows. - # - #- name: Conda package cache - # uses: actions/cache@v1 - # if: matrix.PYENV == 'conda' - # id: conda-cache - # with: - # path: cache/conda - # key: conda-v2-${{runner.os}}-${{matrix.python}} - - name: Pip package cache - uses: actions/cache@v1 + uses: actions/cache@v2 if: matrix.PYENV == 'pip' id: pip-cache with: @@ -70,7 +58,7 @@ jobs: key: pip-v2-${{runner.os}}-${{matrix.python}} - name: Download cache - uses: actions/cache@v1 + uses: actions/cache@v2 id: download-cache with: path: cache/download @@ -181,8 +169,6 @@ jobs: env: CODECOV_NAME: ${{matrix.TARGET}}/${{matrix.python}}${{matrix.NAME}} run: | - ls -la - ls -la ${GITHUB_WORKSPACE}/cache coverage report -i coverage xml -i ls -la @@ -192,7 +178,7 @@ jobs: CODECOV="${GITHUB_WORKSPACE}/cache/download/codecov.sh" for i in `seq 3`; do echo "Downloading current codecov script (attempt ${i})" - curl -L https://codecov.io/bash -O $CODECOV + curl -L https://codecov.io/bash -o $CODECOV if test $? == 0; then break fi @@ -200,6 +186,7 @@ jobs: echo "Pausing $DELAY seconds before re-attempting download" sleep $DELAY done + ls -la ${GITHUB_WORKSPACE}/cache/ i=0 while : ; do ((i+=1)) From 89700454876083915679478668b735fa1a80ccd0 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 11:07:59 -0600 Subject: [PATCH 20/46] Make directory if it doesn't exist --- .github/workflows/pr_master_test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 7b3373ce..1657f8d6 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -169,6 +169,7 @@ jobs: env: CODECOV_NAME: ${{matrix.TARGET}}/${{matrix.python}}${{matrix.NAME}} run: | + [ ! -d ${GITHUB_WORKSPACE}/cache/download ] && mkdir -pv ${GITHUB_WORKSPACE}/cache/download coverage report -i coverage xml -i ls -la From 8748956f67fe770ffba565d7463004efed4281f0 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 13:16:39 -0600 Subject: [PATCH 21/46] Getting CWD for failing tests --- doc/workflow/examples/driver1.py | 3 +++ doc/workflow/examples/driver2.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/doc/workflow/examples/driver1.py b/doc/workflow/examples/driver1.py index 8651b07d..d1dfa8f1 100644 --- a/doc/workflow/examples/driver1.py +++ b/doc/workflow/examples/driver1.py @@ -1,3 +1,6 @@ +import os +print(os.getcwd()) + import pyutilib.workflow import tasks_yz diff --git a/doc/workflow/examples/driver2.py b/doc/workflow/examples/driver2.py index ee9fd62f..f46d3faf 100644 --- a/doc/workflow/examples/driver2.py +++ b/doc/workflow/examples/driver2.py @@ -1,3 +1,6 @@ +import os +print(os.getcwd()) + import pyutilib.workflow import tasks_yz From 205db586cd546639f707df06a26102a08e2018f5 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 13:21:46 -0600 Subject: [PATCH 22/46] Show me the PYTHONPATH --- .github/workflows/pr_master_test.yml | 2 +- doc/workflow/examples/driver1.py | 1 + doc/workflow/examples/driver2.py | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 1657f8d6..2d5dba11 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -163,7 +163,7 @@ jobs: - name: Run Pyutilib tests run: | - test.pyutilib --cat=all -v + test.pyutilib --cat=all -v -s - name: Process code coverage report env: diff --git a/doc/workflow/examples/driver1.py b/doc/workflow/examples/driver1.py index d1dfa8f1..3f8d9902 100644 --- a/doc/workflow/examples/driver1.py +++ b/doc/workflow/examples/driver1.py @@ -1,5 +1,6 @@ import os print(os.getcwd()) +print(os.environ['PYTHONPATH'].split(os.pathsep)) import pyutilib.workflow import tasks_yz diff --git a/doc/workflow/examples/driver2.py b/doc/workflow/examples/driver2.py index f46d3faf..53237154 100644 --- a/doc/workflow/examples/driver2.py +++ b/doc/workflow/examples/driver2.py @@ -1,5 +1,6 @@ import os print(os.getcwd()) +print(os.environ['PYTHONPATH'].split(os.pathsep)) import pyutilib.workflow import tasks_yz From 18c368a4fd5823b32d8122b1a77b7d460a5c842f Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 13:30:34 -0600 Subject: [PATCH 23/46] -s doesn't exist --- .github/workflows/pr_master_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 2d5dba11..1657f8d6 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -163,7 +163,7 @@ jobs: - name: Run Pyutilib tests run: | - test.pyutilib --cat=all -v -s + test.pyutilib --cat=all -v - name: Process code coverage report env: From 698b0d3b09445f007654b2df31250190dc23f198 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 13:35:18 -0600 Subject: [PATCH 24/46] PYTHONPATH is not defined --- doc/workflow/examples/driver1.py | 4 +++- doc/workflow/examples/driver2.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/workflow/examples/driver1.py b/doc/workflow/examples/driver1.py index 3f8d9902..e31ff24d 100644 --- a/doc/workflow/examples/driver1.py +++ b/doc/workflow/examples/driver1.py @@ -1,6 +1,8 @@ import os print(os.getcwd()) -print(os.environ['PYTHONPATH'].split(os.pathsep)) +import sys +for p in sys.path: + print(p) import pyutilib.workflow import tasks_yz diff --git a/doc/workflow/examples/driver2.py b/doc/workflow/examples/driver2.py index 53237154..2775ae12 100644 --- a/doc/workflow/examples/driver2.py +++ b/doc/workflow/examples/driver2.py @@ -1,6 +1,8 @@ import os print(os.getcwd()) -print(os.environ['PYTHONPATH'].split(os.pathsep)) +import sys +for p in sys.path: + print(p) import pyutilib.workflow import tasks_yz From d2943978ae0b4ba7158dc367000f868fe561a4a3 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 13:40:27 -0600 Subject: [PATCH 25/46] Different --- doc/workflow/examples/driver1.py | 3 +-- doc/workflow/examples/driver2.py | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/doc/workflow/examples/driver1.py b/doc/workflow/examples/driver1.py index e31ff24d..d90c7330 100644 --- a/doc/workflow/examples/driver1.py +++ b/doc/workflow/examples/driver1.py @@ -1,5 +1,4 @@ -import os -print(os.getcwd()) + import sys for p in sys.path: print(p) diff --git a/doc/workflow/examples/driver2.py b/doc/workflow/examples/driver2.py index 2775ae12..a1f834ae 100644 --- a/doc/workflow/examples/driver2.py +++ b/doc/workflow/examples/driver2.py @@ -1,5 +1,4 @@ -import os -print(os.getcwd()) + import sys for p in sys.path: print(p) From 9ddc2a2390ae941316978b334aee48cdaef63309 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 13:48:31 -0600 Subject: [PATCH 26/46] Reverting changes --- doc/workflow/examples/driver1.py | 4 ---- doc/workflow/examples/driver2.py | 4 ---- 2 files changed, 8 deletions(-) diff --git a/doc/workflow/examples/driver1.py b/doc/workflow/examples/driver1.py index d90c7330..da817911 100644 --- a/doc/workflow/examples/driver1.py +++ b/doc/workflow/examples/driver1.py @@ -1,8 +1,4 @@ -import sys -for p in sys.path: - print(p) - import pyutilib.workflow import tasks_yz diff --git a/doc/workflow/examples/driver2.py b/doc/workflow/examples/driver2.py index a1f834ae..87662ab7 100644 --- a/doc/workflow/examples/driver2.py +++ b/doc/workflow/examples/driver2.py @@ -1,8 +1,4 @@ -import sys -for p in sys.path: - print(p) - import pyutilib.workflow import tasks_yz From 3a2fdb2f6f5c6f3e66a277b9091d30e0d7b7d1a1 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 13:59:46 -0600 Subject: [PATCH 27/46] Finding PATH --- doc/workflow/examples/driver1.py | 3 ++- doc/workflow/examples/driver2.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/workflow/examples/driver1.py b/doc/workflow/examples/driver1.py index da817911..5b6a0163 100644 --- a/doc/workflow/examples/driver1.py +++ b/doc/workflow/examples/driver1.py @@ -1,4 +1,5 @@ - +import os +print(os.environ(['PATH'])) import pyutilib.workflow import tasks_yz diff --git a/doc/workflow/examples/driver2.py b/doc/workflow/examples/driver2.py index 87662ab7..13c8ecbe 100644 --- a/doc/workflow/examples/driver2.py +++ b/doc/workflow/examples/driver2.py @@ -1,4 +1,5 @@ - +import os +print(os.environ(['PATH'])) import pyutilib.workflow import tasks_yz From eced783c60e7d363ef425575e317e8533d46f399 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 14:01:23 -0600 Subject: [PATCH 28/46] Syntax: --- doc/workflow/examples/driver1.py | 2 +- doc/workflow/examples/driver2.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/workflow/examples/driver1.py b/doc/workflow/examples/driver1.py index 5b6a0163..066e5dd1 100644 --- a/doc/workflow/examples/driver1.py +++ b/doc/workflow/examples/driver1.py @@ -1,5 +1,5 @@ import os -print(os.environ(['PATH'])) +print(os.environ['PATH']) import pyutilib.workflow import tasks_yz diff --git a/doc/workflow/examples/driver2.py b/doc/workflow/examples/driver2.py index 13c8ecbe..1f095d5b 100644 --- a/doc/workflow/examples/driver2.py +++ b/doc/workflow/examples/driver2.py @@ -1,5 +1,5 @@ import os -print(os.environ(['PATH'])) +print(os.environ['PATH']) import pyutilib.workflow import tasks_yz From 5c043d9530130be3cc5f6a6d2a7ddb4178b49961 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 14:05:53 -0600 Subject: [PATCH 29/46] Python versions --- .github/workflows/pr_master_test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 1657f8d6..b240ac57 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -163,6 +163,10 @@ jobs: - name: Run Pyutilib tests run: | + which python + which $PYTHON_EXE + echo "" + echo "###########################################" test.pyutilib --cat=all -v - name: Process code coverage report From 4c56c9ff6c8769d48fba231921213537ab13ded0 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 14:21:19 -0600 Subject: [PATCH 30/46] Rewriting the driver scripts --- doc/workflow/examples/driver1.py | 3 +-- doc/workflow/examples/driver2.py | 3 +-- doc/workflow/examples/driver_1.sh | 2 +- doc/workflow/examples/driver_2.sh | 2 +- doc/workflow/examples/driver_3.sh | 2 +- pyutilib/workflow/tests/test_doc.py | 2 +- 6 files changed, 6 insertions(+), 8 deletions(-) diff --git a/doc/workflow/examples/driver1.py b/doc/workflow/examples/driver1.py index 066e5dd1..da817911 100644 --- a/doc/workflow/examples/driver1.py +++ b/doc/workflow/examples/driver1.py @@ -1,5 +1,4 @@ -import os -print(os.environ['PATH']) + import pyutilib.workflow import tasks_yz diff --git a/doc/workflow/examples/driver2.py b/doc/workflow/examples/driver2.py index 1f095d5b..87662ab7 100644 --- a/doc/workflow/examples/driver2.py +++ b/doc/workflow/examples/driver2.py @@ -1,5 +1,4 @@ -import os -print(os.environ['PATH']) + import pyutilib.workflow import tasks_yz diff --git a/doc/workflow/examples/driver_1.sh b/doc/workflow/examples/driver_1.sh index a18d26a5..6af2f102 100755 --- a/doc/workflow/examples/driver_1.sh +++ b/doc/workflow/examples/driver_1.sh @@ -1,5 +1,5 @@ #!/bin/sh # @code: -python driver1.py TaskZ --x=3 --y=4 +$PYTHON_EXE driver1.py TaskZ --x=3 --y=4 # @:code diff --git a/doc/workflow/examples/driver_2.sh b/doc/workflow/examples/driver_2.sh index 84b1d83b..a2a7d517 100755 --- a/doc/workflow/examples/driver_2.sh +++ b/doc/workflow/examples/driver_2.sh @@ -1,5 +1,5 @@ #!/bin/sh # @code: -python driver2.py TaskZ --help +$PYTHON_EXE driver2.py TaskZ --help # @:code diff --git a/doc/workflow/examples/driver_3.sh b/doc/workflow/examples/driver_3.sh index 67d72079..1b0ed0a4 100755 --- a/doc/workflow/examples/driver_3.sh +++ b/doc/workflow/examples/driver_3.sh @@ -1,5 +1,5 @@ #!/bin/sh # @code: -python driver2.py --help +$PYTHON_EXE driver2.py --help # @:code diff --git a/pyutilib/workflow/tests/test_doc.py b/pyutilib/workflow/tests/test_doc.py index 8767e4e8..3e58267e 100644 --- a/pyutilib/workflow/tests/test_doc.py +++ b/pyutilib/workflow/tests/test_doc.py @@ -1,7 +1,7 @@ # Imports import sys import os -from os.path import dirname, abspath, abspath +from os.path import dirname, abspath import pyutilib.th as unittest From 8b4be2e9bcac75328a71281047fdb0d1b9bd0a41 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 14:24:36 -0600 Subject: [PATCH 31/46] Now Win is broken --- .github/workflows/pr_master_test.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index b240ac57..1657f8d6 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -163,10 +163,6 @@ jobs: - name: Run Pyutilib tests run: | - which python - which $PYTHON_EXE - echo "" - echo "###########################################" test.pyutilib --cat=all -v - name: Process code coverage report From 5fc6d305a92f94f7854910b8a5b24fa21848fa34 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 14:42:31 -0600 Subject: [PATCH 32/46] Finalizing --- .github/workflows/pr_master_test.yml | 8 ++++---- doc/workflow/examples/driver1.py | 1 - doc/workflow/examples/driver2.py | 1 - 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 1657f8d6..9262533f 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -3,10 +3,10 @@ name: GitHub CI on: push: branches: - - github_actions - # pull_request: - # branches: - # - master + - master + pull_request: + branches: + - master defaults: run: diff --git a/doc/workflow/examples/driver1.py b/doc/workflow/examples/driver1.py index da817911..8651b07d 100644 --- a/doc/workflow/examples/driver1.py +++ b/doc/workflow/examples/driver1.py @@ -1,4 +1,3 @@ - import pyutilib.workflow import tasks_yz diff --git a/doc/workflow/examples/driver2.py b/doc/workflow/examples/driver2.py index 87662ab7..ee9fd62f 100644 --- a/doc/workflow/examples/driver2.py +++ b/doc/workflow/examples/driver2.py @@ -1,4 +1,3 @@ - import pyutilib.workflow import tasks_yz From 70cd2bfe95fedf1217775a9a863db1266e71efe0 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 15:00:10 -0600 Subject: [PATCH 33/46] Fix the path before the test runs --- doc/workflow/examples/driver_1.sh | 2 +- doc/workflow/examples/driver_2.sh | 2 +- doc/workflow/examples/driver_3.sh | 2 +- doc/workflow/examples/test_example.py | 12 ++++++++++-- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/doc/workflow/examples/driver_1.sh b/doc/workflow/examples/driver_1.sh index 6af2f102..91777a08 100755 --- a/doc/workflow/examples/driver_1.sh +++ b/doc/workflow/examples/driver_1.sh @@ -1,5 +1,5 @@ #!/bin/sh # @code: -$PYTHON_EXE driver1.py TaskZ --x=3 --y=4 +python driver1.py TaskZ --x=3 --y=4 # @:code diff --git a/doc/workflow/examples/driver_2.sh b/doc/workflow/examples/driver_2.sh index a2a7d517..84b1d83b 100755 --- a/doc/workflow/examples/driver_2.sh +++ b/doc/workflow/examples/driver_2.sh @@ -1,5 +1,5 @@ #!/bin/sh # @code: -$PYTHON_EXE driver2.py TaskZ --help +python driver2.py TaskZ --help # @:code diff --git a/doc/workflow/examples/driver_3.sh b/doc/workflow/examples/driver_3.sh index 1b0ed0a4..67d72079 100755 --- a/doc/workflow/examples/driver_3.sh +++ b/doc/workflow/examples/driver_3.sh @@ -1,5 +1,5 @@ #!/bin/sh # @code: -$PYTHON_EXE driver2.py --help +python driver2.py --help # @:code diff --git a/doc/workflow/examples/test_example.py b/doc/workflow/examples/test_example.py index 18b7ee16..356beb6f 100644 --- a/doc/workflow/examples/test_example.py +++ b/doc/workflow/examples/test_example.py @@ -11,8 +11,16 @@ def filter(line): return 'Running' in line or "IGNORE" in line or line.startswith('usage:') or 'Sub-commands' in line -# Declare an empty TestCase class -class Test(unittest.TestCase): pass +class Test(unittest.TestCase): + + def setUp(self): + self._path = os.environ['PATH'] + os.environ['PATH'] = os.pathsep.join( + os.path.dirname(sys.executable), os.environ['PATH'] + ) + + def tearDown(self): + os.environ['PATH'] = self._path # Find all example*.py files, and use them to define baseline tests for file in glob.glob(datadir+'example*.py'): From 35b248171c06d427c7c0ae0e2ade3d789b79cba5 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 15:04:23 -0600 Subject: [PATCH 34/46] Changing to join --- doc/workflow/examples/test_example.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/workflow/examples/test_example.py b/doc/workflow/examples/test_example.py index 356beb6f..e2a450a8 100644 --- a/doc/workflow/examples/test_example.py +++ b/doc/workflow/examples/test_example.py @@ -15,7 +15,7 @@ class Test(unittest.TestCase): def setUp(self): self._path = os.environ['PATH'] - os.environ['PATH'] = os.pathsep.join( + os.environ['PATH'] = os.path.join( os.path.dirname(sys.executable), os.environ['PATH'] ) From 4ef842fbf9d242ad539fdfe5f54dfb1529e69aff Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 15:09:04 -0600 Subject: [PATCH 35/46] Trying to prepend path with sys executable --- doc/workflow/examples/test_example.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/doc/workflow/examples/test_example.py b/doc/workflow/examples/test_example.py index e2a450a8..6a0e009a 100644 --- a/doc/workflow/examples/test_example.py +++ b/doc/workflow/examples/test_example.py @@ -5,6 +5,8 @@ from os.path import dirname, abspath, abspath, basename import sys +sys.path.insert(0, sys.executable) + currdir = dirname(abspath(__file__))+os.sep datadir = currdir @@ -12,15 +14,7 @@ def filter(line): return 'Running' in line or "IGNORE" in line or line.startswith('usage:') or 'Sub-commands' in line class Test(unittest.TestCase): - - def setUp(self): - self._path = os.environ['PATH'] - os.environ['PATH'] = os.path.join( - os.path.dirname(sys.executable), os.environ['PATH'] - ) - - def tearDown(self): - os.environ['PATH'] = self._path + pass # Find all example*.py files, and use them to define baseline tests for file in glob.glob(datadir+'example*.py'): From c90741fcce0d6c8df2a064f7e9c9061134b7a1a1 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 1 Jul 2020 15:14:11 -0600 Subject: [PATCH 36/46] Trying a different way of inserting to sys.path --- doc/workflow/examples/test_example.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/workflow/examples/test_example.py b/doc/workflow/examples/test_example.py index 6a0e009a..7cbe76e0 100644 --- a/doc/workflow/examples/test_example.py +++ b/doc/workflow/examples/test_example.py @@ -5,8 +5,6 @@ from os.path import dirname, abspath, abspath, basename import sys -sys.path.insert(0, sys.executable) - currdir = dirname(abspath(__file__))+os.sep datadir = currdir @@ -14,7 +12,13 @@ def filter(line): return 'Running' in line or "IGNORE" in line or line.startswith('usage:') or 'Sub-commands' in line class Test(unittest.TestCase): - pass + + def setUp(self): + self._path = os.environ['PATH'] + sys.path.insert(0, sys.executable) + + def tearDown(self): + os.environ['PATH'] = self._path # Find all example*.py files, and use them to define baseline tests for file in glob.glob(datadir+'example*.py'): From 5d16f87a839b68ceb7ec837e80e42d8b615c2ef4 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 2 Jul 2020 07:59:39 -0600 Subject: [PATCH 37/46] Trying a different way to invoke sys.path changes --- doc/workflow/examples/test_example.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/doc/workflow/examples/test_example.py b/doc/workflow/examples/test_example.py index 7cbe76e0..eb70b453 100644 --- a/doc/workflow/examples/test_example.py +++ b/doc/workflow/examples/test_example.py @@ -12,13 +12,7 @@ def filter(line): return 'Running' in line or "IGNORE" in line or line.startswith('usage:') or 'Sub-commands' in line class Test(unittest.TestCase): - - def setUp(self): - self._path = os.environ['PATH'] - sys.path.insert(0, sys.executable) - - def tearDown(self): - os.environ['PATH'] = self._path + pass # Find all example*.py files, and use them to define baseline tests for file in glob.glob(datadir+'example*.py'): @@ -42,4 +36,9 @@ def tearDown(self): # Execute the tests if __name__ == '__main__': + _path = os.environ['PATH'] + sys.path.insert(0, sys.executable) + unittest.main() + + os.environ['PATH'] = _path From c48ef0d8864ba5d6847e5541af0ca3fa5f6d226d Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 2 Jul 2020 08:28:54 -0600 Subject: [PATCH 38/46] Correcting the pathsep --- doc/workflow/examples/test_example.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/doc/workflow/examples/test_example.py b/doc/workflow/examples/test_example.py index eb70b453..8997d244 100644 --- a/doc/workflow/examples/test_example.py +++ b/doc/workflow/examples/test_example.py @@ -12,7 +12,15 @@ def filter(line): return 'Running' in line or "IGNORE" in line or line.startswith('usage:') or 'Sub-commands' in line class Test(unittest.TestCase): - pass + + def setUp(self): + self._path = os.environ['PATH'] + os.environ['PATH'] = os.pathsep.join([ + os.path.dirname(sys.executable), os.environ['PATH'] + ]) + + def tearDown(self): + os.environ['PATH'] = self._path # Find all example*.py files, and use them to define baseline tests for file in glob.glob(datadir+'example*.py'): @@ -36,9 +44,5 @@ class Test(unittest.TestCase): # Execute the tests if __name__ == '__main__': - _path = os.environ['PATH'] - sys.path.insert(0, sys.executable) unittest.main() - - os.environ['PATH'] = _path From 8e61b3b00052d239f32b2a5fa1e795c4fa256d4c Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 2 Jul 2020 08:52:59 -0600 Subject: [PATCH 39/46] Changing path in GA workflow JUST for Mac --- .github/workflows/pr_master_test.yml | 6 ++++++ doc/workflow/examples/test_example.py | 10 +--------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 9262533f..2a347737 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -137,6 +137,12 @@ jobs: python -c 'import sys; print("::set-env name=PYTHON_EXE::%s" \ % (sys.executable,))' + - name: Correct MacOS path + if: matrix.TARGET == 'osx' + run: | + PYTHON_DIR=`dirname $PYTHON_EXE` + echo "::set-env PATH::$PYTHON_DIR:$PATH" + - name: Install Pyutilib run: | $PYTHON_EXE setup.py develop diff --git a/doc/workflow/examples/test_example.py b/doc/workflow/examples/test_example.py index 8997d244..c3281a68 100644 --- a/doc/workflow/examples/test_example.py +++ b/doc/workflow/examples/test_example.py @@ -12,15 +12,7 @@ def filter(line): return 'Running' in line or "IGNORE" in line or line.startswith('usage:') or 'Sub-commands' in line class Test(unittest.TestCase): - - def setUp(self): - self._path = os.environ['PATH'] - os.environ['PATH'] = os.pathsep.join([ - os.path.dirname(sys.executable), os.environ['PATH'] - ]) - - def tearDown(self): - os.environ['PATH'] = self._path + pass # Find all example*.py files, and use them to define baseline tests for file in glob.glob(datadir+'example*.py'): From ddf00fdd545072eb5b03ba991b01009f6daeff9e Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 2 Jul 2020 08:54:40 -0600 Subject: [PATCH 40/46] name = PATH --- .github/workflows/pr_master_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 2a347737..dab02032 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -141,7 +141,7 @@ jobs: if: matrix.TARGET == 'osx' run: | PYTHON_DIR=`dirname $PYTHON_EXE` - echo "::set-env PATH::$PYTHON_DIR:$PATH" + echo "::set-env name=PATH::$PYTHON_DIR:$PATH" - name: Install Pyutilib run: | From 000f9266df855faff47fd599fba81cbc3e16492a Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 2 Jul 2020 08:56:52 -0600 Subject: [PATCH 41/46] What is going on with the PATH --- .github/workflows/pr_master_test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index dab02032..2123d2dc 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -141,7 +141,9 @@ jobs: if: matrix.TARGET == 'osx' run: | PYTHON_DIR=`dirname $PYTHON_EXE` + echo $PYTHON_DIR echo "::set-env name=PATH::$PYTHON_DIR:$PATH" + which python - name: Install Pyutilib run: | From 638abdbb0f8c768bdf7206762e77916aa3a7446d Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 2 Jul 2020 08:59:12 -0600 Subject: [PATCH 42/46] Let's try again --- .github/workflows/pr_master_test.yml | 4 ++-- doc/workflow/examples/test_example.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 2123d2dc..10e27cae 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -141,12 +141,12 @@ jobs: if: matrix.TARGET == 'osx' run: | PYTHON_DIR=`dirname $PYTHON_EXE` - echo $PYTHON_DIR echo "::set-env name=PATH::$PYTHON_DIR:$PATH" - which python - name: Install Pyutilib run: | + echo $PATH + which python $PYTHON_EXE setup.py develop - name: Set up coverage tracking diff --git a/doc/workflow/examples/test_example.py b/doc/workflow/examples/test_example.py index c3281a68..e03a2186 100644 --- a/doc/workflow/examples/test_example.py +++ b/doc/workflow/examples/test_example.py @@ -32,7 +32,7 @@ class Test(unittest.TestCase): for file in glob.glob(datadir+'*.sh'): bname = basename(file) name=bname.split('.')[0] - Test.add_baseline_test(cmd='cd %s; /usr/bin/env sh %s' % (datadir, file), baseline=datadir+name+'.txt', name=name, filter=filter) + Test.add_baseline_test(cmd='cd %s; /usr/bin/env bash %s' % (datadir, file), baseline=datadir+name+'.txt', name=name, filter=filter) # Execute the tests if __name__ == '__main__': From c9edff0c9a786ebff8829446fe536165754aebb4 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 2 Jul 2020 09:06:40 -0600 Subject: [PATCH 43/46] What python is being accessed at the beginning of tests --- .github/workflows/pr_master_test.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 10e27cae..e7267daa 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -145,8 +145,6 @@ jobs: - name: Install Pyutilib run: | - echo $PATH - which python $PYTHON_EXE setup.py develop - name: Set up coverage tracking @@ -171,6 +169,7 @@ jobs: - name: Run Pyutilib tests run: | + which python test.pyutilib --cat=all -v - name: Process code coverage report From 89050ce1f73438fcc8b903201233cf088ebf3c8d Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 2 Jul 2020 09:13:51 -0600 Subject: [PATCH 44/46] Moving the prepending --- .github/workflows/pr_master_test.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index e7267daa..53666c40 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -137,12 +137,6 @@ jobs: python -c 'import sys; print("::set-env name=PYTHON_EXE::%s" \ % (sys.executable,))' - - name: Correct MacOS path - if: matrix.TARGET == 'osx' - run: | - PYTHON_DIR=`dirname $PYTHON_EXE` - echo "::set-env name=PATH::$PYTHON_DIR:$PATH" - - name: Install Pyutilib run: | $PYTHON_EXE setup.py develop @@ -169,7 +163,12 @@ jobs: - name: Run Pyutilib tests run: | - which python + if [ ${{matrix.TARGET}} == 'osx' ]; then + which python + PYTHON_DIR=`dirname $PYTHON_EXE` + export PATH=$PYTHON_DIR:$PATH + which python + fi test.pyutilib --cat=all -v - name: Process code coverage report From 3bcdf8c02d7b6f35d72874ab3c94d804164dcfc8 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 2 Jul 2020 09:16:33 -0600 Subject: [PATCH 45/46] Finalizing for real --- .github/workflows/pr_master_test.yml | 2 -- doc/workflow/examples/test_example.py | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/pr_master_test.yml b/.github/workflows/pr_master_test.yml index 53666c40..d6211b09 100644 --- a/.github/workflows/pr_master_test.yml +++ b/.github/workflows/pr_master_test.yml @@ -164,10 +164,8 @@ jobs: - name: Run Pyutilib tests run: | if [ ${{matrix.TARGET}} == 'osx' ]; then - which python PYTHON_DIR=`dirname $PYTHON_EXE` export PATH=$PYTHON_DIR:$PATH - which python fi test.pyutilib --cat=all -v diff --git a/doc/workflow/examples/test_example.py b/doc/workflow/examples/test_example.py index e03a2186..a6834ff7 100644 --- a/doc/workflow/examples/test_example.py +++ b/doc/workflow/examples/test_example.py @@ -11,6 +11,7 @@ def filter(line): return 'Running' in line or "IGNORE" in line or line.startswith('usage:') or 'Sub-commands' in line +# Declare an empty TestCase class class Test(unittest.TestCase): pass From 3e0139c012028eb5611a70156105073f99622a2e Mon Sep 17 00:00:00 2001 From: John Siirola Date: Thu, 2 Jul 2020 09:22:03 -0600 Subject: [PATCH 46/46] Removing whitespace added during development --- doc/workflow/examples/driver_1.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/workflow/examples/driver_1.sh b/doc/workflow/examples/driver_1.sh index 91777a08..a18d26a5 100755 --- a/doc/workflow/examples/driver_1.sh +++ b/doc/workflow/examples/driver_1.sh @@ -1,5 +1,5 @@ #!/bin/sh # @code: -python driver1.py TaskZ --x=3 --y=4 +python driver1.py TaskZ --x=3 --y=4 # @:code