From 3d62cbd1814973ca9279e1900f776f5175d4d564 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Fri, 20 Oct 2023 16:02:47 -0700 Subject: [PATCH 01/41] Added workflows to test Linux, Windows, and Mac builds. --- .../workflows/{tests.yml => tests-linux.yml} | 17 ++--- .github/workflows/tests-macos.yml | 66 +++++++++++++++++++ .github/workflows/tests-windows.yml | 66 +++++++++++++++++++ 3 files changed, 138 insertions(+), 11 deletions(-) rename .github/workflows/{tests.yml => tests-linux.yml} (79%) create mode 100644 .github/workflows/tests-macos.yml create mode 100644 .github/workflows/tests-windows.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests-linux.yml similarity index 79% rename from .github/workflows/tests.yml rename to .github/workflows/tests-linux.yml index 7a9a52eae..8a42db419 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests-linux.yml @@ -9,18 +9,13 @@ on: jobs: tests: - name: 'Run tests on py${{ matrix.python-version }}' - runs-on: ubuntu-latest + name: ${{ matrix.os }}:${{ matrix.python-version }} + runs-on: ${{ matrix.os }} strategy: - fail-fast: false matrix: - include: - - python-version: '3.6' - - python-version: '3.7' - - python-version: '3.8' - - python-version: '3.9' - - python-version: '3.10' - - python-version: '3.11' + os: [ubuntu-20.04, ubuntu-22.04] + python: ['3.6', 3.8', '3.9', '3.10', '3.11'] + fail-fast: false steps: - uses: actions/checkout@v3 @@ -33,7 +28,7 @@ jobs: with: activate-environment: vplanet environment-file: environment.yml - python-version: ${{ matrix.python-version }} + python-version: ${{ matrix.python }} - name: Install id: install diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml new file mode 100644 index 000000000..23fb515bb --- /dev/null +++ b/.github/workflows/tests-macos.yml @@ -0,0 +1,66 @@ +name: tests + +on: + push: + branches: [master, main] + pull_request: + branches: [master, main] + workflow_dispatch: + +jobs: + tests: + name: ${{ matrix.os }}:${{ matrix.python-version }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [macos-11, macos-12, macos-13] + python: ['3.6', 3.8', '3.9', '3.10', '3.11'] + fail-fast: false + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Python + id: setup_python + uses: conda-incubator/setup-miniconda@v2 + with: + activate-environment: vplanet + environment-file: environment.yml + python-version: ${{ matrix.python }} + + - name: Install + id: install + if: steps.setup_python.outcome == 'success' + shell: bash -l {0} + run: | + python -m pip install -U pip + python -m pip install -e . + sudo apt install lcov + + - name: Run tests and generate coverage + if: steps.install.outcome == 'success' + shell: bash -l {0} + run: | + make coverage + + - name: Get unique id + id: unique-id + env: + STRATEGY_CONTEXT: ${{ toJson(strategy) }} + run: | + export JOB_ID=`echo $STRATEGY_CONTEXT | md5sum` + echo "::set-output name=id::$JOB_ID" + + - name: Publish unit test results + uses: EnricoMi/publish-unit-test-result-action@v1 + if: always() + with: + files: junit/test-*.xml + comment_mode: update last + + - name: CodeCov + uses: codecov/codecov-action@v2.1.0 + with: + files: ./.coverage diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml new file mode 100644 index 000000000..bf72d00ed --- /dev/null +++ b/.github/workflows/tests-windows.yml @@ -0,0 +1,66 @@ +name: tests + +on: + push: + branches: [master, main] + pull_request: + branches: [master, main] + workflow_dispatch: + +jobs: + tests: + name: ${{ matrix.os }}:${{ matrix.python-version }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [windows-2019, windows-2022] + python: ['3.6', 3.8', '3.9', '3.10', '3.11'] + fail-fast: false + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Python + id: setup_python + uses: conda-incubator/setup-miniconda@v2 + with: + activate-environment: vplanet + environment-file: environment.yml + python-version: ${{ matrix.python }} + + - name: Install + id: install + if: steps.setup_python.outcome == 'success' + shell: bash -l {0} + run: | + python -m pip install -U pip + python -m pip install -e . + sudo apt install lcov + + - name: Run tests and generate coverage + if: steps.install.outcome == 'success' + shell: bash -l {0} + run: | + make coverage + + - name: Get unique id + id: unique-id + env: + STRATEGY_CONTEXT: ${{ toJson(strategy) }} + run: | + export JOB_ID=`echo $STRATEGY_CONTEXT | md5sum` + echo "::set-output name=id::$JOB_ID" + + - name: Publish unit test results + uses: EnricoMi/publish-unit-test-result-action@v1 + if: always() + with: + files: junit/test-*.xml + comment_mode: update last + + - name: CodeCov + uses: codecov/codecov-action@v2.1.0 + with: + files: ./.coverage From 4cc470af0ccf1b0b92dda2114538e072064f862a Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Fri, 20 Oct 2023 16:12:57 -0700 Subject: [PATCH 02/41] Fixed some issues with test yamls. --- .github/workflows/tests-linux.yml | 6 +++--- .github/workflows/tests-macos.yml | 6 +++--- .github/workflows/tests-windows.yml | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 8a42db419..d4f65e908 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-20.04, ubuntu-22.04] - python: ['3.6', 3.8', '3.9', '3.10', '3.11'] + python-version: ['3.6', 3.8', '3.9', '3.10', '3.11'] fail-fast: false steps: @@ -24,11 +24,11 @@ jobs: - name: Set up Python id: setup_python - uses: conda-incubator/setup-miniconda@v2 + uses: actions/setup-python@v4 with: activate-environment: vplanet environment-file: environment.yml - python-version: ${{ matrix.python }} + python-version: ${{ matrix.python-version }} - name: Install id: install diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index 23fb515bb..3a8e98b9e 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [macos-11, macos-12, macos-13] - python: ['3.6', 3.8', '3.9', '3.10', '3.11'] + python-version: ['3.6', 3.8', '3.9', '3.10', '3.11'] fail-fast: false steps: @@ -24,11 +24,11 @@ jobs: - name: Set up Python id: setup_python - uses: conda-incubator/setup-miniconda@v2 + uses: cactions/setup-python@v4 with: activate-environment: vplanet environment-file: environment.yml - python-version: ${{ matrix.python }} + python-version: ${{ matrix.python-version }} - name: Install id: install diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index bf72d00ed..e5d9e3993 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [windows-2019, windows-2022] - python: ['3.6', 3.8', '3.9', '3.10', '3.11'] + python-version: ['3.6', 3.8', '3.9', '3.10', '3.11'] fail-fast: false steps: @@ -24,11 +24,11 @@ jobs: - name: Set up Python id: setup_python - uses: conda-incubator/setup-miniconda@v2 + uses: actions/setup-python@v4 with: activate-environment: vplanet environment-file: environment.yml - python-version: ${{ matrix.python }} + python-version: ${{ matrix.python-version }} - name: Install id: install From 5afd0d07226a3262dae89f06b07199a617c13613 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Fri, 20 Oct 2023 16:22:36 -0700 Subject: [PATCH 03/41] Fixed some issues with test yamls. --- .github/workflows/tests-linux.yml | 4 ++-- .github/workflows/tests-macos.yml | 6 +++--- .github/workflows/tests-windows.yml | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index d4f65e908..9d12e0e92 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -9,7 +9,7 @@ on: jobs: tests: - name: ${{ matrix.os }}:${{ matrix.python-version }} + name: '${{ matrix.os }}:python-${{ matrix.python-version }}' runs-on: ${{ matrix.os }} strategy: matrix: @@ -54,7 +54,7 @@ jobs: echo "::set-output name=id::$JOB_ID" - name: Publish unit test results - uses: EnricoMi/publish-unit-test-result-action@v1 + uses: EnricoMi/publish-unit-test-result-action@v2 if: always() with: files: junit/test-*.xml diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index 3a8e98b9e..269b085b9 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -9,7 +9,7 @@ on: jobs: tests: - name: ${{ matrix.os }}:${{ matrix.python-version }} + name: '${{ matrix.os }}:python-${{ matrix.python-version }}' runs-on: ${{ matrix.os }} strategy: matrix: @@ -24,7 +24,7 @@ jobs: - name: Set up Python id: setup_python - uses: cactions/setup-python@v4 + uses: actions/setup-python@v4 with: activate-environment: vplanet environment-file: environment.yml @@ -54,7 +54,7 @@ jobs: echo "::set-output name=id::$JOB_ID" - name: Publish unit test results - uses: EnricoMi/publish-unit-test-result-action@v1 + uses: EnricoMi/publish-unit-test-result-action/composite@v2 if: always() with: files: junit/test-*.xml diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index e5d9e3993..453115bb2 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -9,7 +9,7 @@ on: jobs: tests: - name: ${{ matrix.os }}:${{ matrix.python-version }} + name: '${{ matrix.os }}:python-${{ matrix.python-version }}' runs-on: ${{ matrix.os }} strategy: matrix: @@ -54,7 +54,7 @@ jobs: echo "::set-output name=id::$JOB_ID" - name: Publish unit test results - uses: EnricoMi/publish-unit-test-result-action@v1 + uses: EnricoMi/publish-unit-test-result-action/composite@v2 if: always() with: files: junit/test-*.xml From 4444cac00219676aa42adb6624df0bd18d5e74eb Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Fri, 20 Oct 2023 16:25:15 -0700 Subject: [PATCH 04/41] Fixed typos in python-version in test yamls. --- .github/workflows/tests-linux.yml | 2 +- .github/workflows/tests-macos.yml | 2 +- .github/workflows/tests-windows.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 9d12e0e92..9c159a80f 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-20.04, ubuntu-22.04] - python-version: ['3.6', 3.8', '3.9', '3.10', '3.11'] + python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] fail-fast: false steps: diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index 269b085b9..a650814bc 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [macos-11, macos-12, macos-13] - python-version: ['3.6', 3.8', '3.9', '3.10', '3.11'] + python-version: ['3.6', '3.7', 3.8', '3.9', '3.10', '3.11'] fail-fast: false steps: diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index 453115bb2..3668dac97 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [windows-2019, windows-2022] - python-version: ['3.6', 3.8', '3.9', '3.10', '3.11'] + python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] fail-fast: false steps: From 18a143aa96a84e7fe82640f8d9ed8aa568b555e4 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Fri, 20 Oct 2023 16:47:35 -0700 Subject: [PATCH 05/41] Removed coverage testing for Windows and MacOS. --- .github/workflows/tests-linux.yml | 4 ++-- .github/workflows/tests-macos.yml | 9 ++++----- .github/workflows/tests-windows.yml | 7 +++---- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 9c159a80f..e64f99d78 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -2,9 +2,9 @@ name: tests on: push: - branches: [master, main] + branches: [main] pull_request: - branches: [master, main] + branches: [main] workflow_dispatch: jobs: diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index a650814bc..6d0d9f302 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -2,9 +2,9 @@ name: tests on: push: - branches: [master, main] + branches: [main] pull_request: - branches: [master, main] + branches: [main] workflow_dispatch: jobs: @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [macos-11, macos-12, macos-13] - python-version: ['3.6', '3.7', 3.8', '3.9', '3.10', '3.11'] + python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] fail-fast: false steps: @@ -37,13 +37,12 @@ jobs: run: | python -m pip install -U pip python -m pip install -e . - sudo apt install lcov - name: Run tests and generate coverage if: steps.install.outcome == 'success' shell: bash -l {0} run: | - make coverage + make test - name: Get unique id id: unique-id diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index 3668dac97..5e69f10ba 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -2,9 +2,9 @@ name: tests on: push: - branches: [master, main] + branches: [main] pull_request: - branches: [master, main] + branches: [main] workflow_dispatch: jobs: @@ -37,13 +37,12 @@ jobs: run: | python -m pip install -U pip python -m pip install -e . - sudo apt install lcov - name: Run tests and generate coverage if: steps.install.outcome == 'success' shell: bash -l {0} run: | - make coverage + make test - name: Get unique id id: unique-id From 0266ff4e837ea587e7c2631f78dabb63205ca768 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Fri, 20 Oct 2023 16:58:12 -0700 Subject: [PATCH 06/41] Downgraded Publish unit test results version to see if that eliminates an error. --- .github/workflows/tests-linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index e64f99d78..3b6451764 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -54,7 +54,7 @@ jobs: echo "::set-output name=id::$JOB_ID" - name: Publish unit test results - uses: EnricoMi/publish-unit-test-result-action@v2 + uses: EnricoMi/publish-unit-test-result-action@v1 if: always() with: files: junit/test-*.xml From f7fa41f17c0c3b982a77e010342129c0207a5e90 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 24 Oct 2023 12:01:51 -0700 Subject: [PATCH 07/41] Updated windwos and macos tests. --- .github/workflows/tests-macos.yml | 10 +++------- .github/workflows/tests-windows.yml | 5 ----- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index 6d0d9f302..f22bfcf9a 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -35,8 +35,8 @@ jobs: if: steps.setup_python.outcome == 'success' shell: bash -l {0} run: | - python -m pip install -U pip - python -m pip install -e . + python3 -m pip install -U pip + python3 -m pip install -e . - name: Run tests and generate coverage if: steps.install.outcome == 'success' @@ -58,8 +58,4 @@ jobs: with: files: junit/test-*.xml comment_mode: update last - - - name: CodeCov - uses: codecov/codecov-action@v2.1.0 - with: - files: ./.coverage + \ No newline at end of file diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index 5e69f10ba..44cfa5678 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -58,8 +58,3 @@ jobs: with: files: junit/test-*.xml comment_mode: update last - - - name: CodeCov - uses: codecov/codecov-action@v2.1.0 - with: - files: ./.coverage From b4027c976d4c85f085b0512aedd41865a438658f Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 24 Oct 2023 12:48:48 -0700 Subject: [PATCH 08/41] More updates to test yamls. --- .github/workflows/tests-linux.yml | 2 +- .github/workflows/tests-macos.yml | 12 ++++++------ .github/workflows/tests-windows.yml | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 3b6451764..33fbcab95 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -1,4 +1,4 @@ -name: tests +name: tests-linux on: push: diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index f22bfcf9a..81458ca08 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -1,4 +1,4 @@ -name: tests +name: tests-macos on: push: @@ -50,12 +50,12 @@ jobs: STRATEGY_CONTEXT: ${{ toJson(strategy) }} run: | export JOB_ID=`echo $STRATEGY_CONTEXT | md5sum` - echo "::set-output name=id::$JOB_ID" + echo "{name}={value}" >> $GITHUB_OUTPUT - name: Publish unit test results uses: EnricoMi/publish-unit-test-result-action/composite@v2 if: always() - with: - files: junit/test-*.xml - comment_mode: update last - \ No newline at end of file + files: | + test-results/**/*.xml + test-results/**/*.trx + test-results/**/*.json diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index 44cfa5678..210901497 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -1,4 +1,4 @@ -name: tests +name: tests-windows on: push: From ab52c835822f4977bdeb511a1d2d1c7b21a06f7a Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 24 Oct 2023 12:57:15 -0700 Subject: [PATCH 09/41] Updating publishing unit tests in yaml files. --- .github/workflows/tests-linux.yml | 6 ++++-- .github/workflows/tests-macos.yml | 9 +++++---- .github/workflows/tests-windows.yml | 6 ++++-- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 33fbcab95..2ee8e864e 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -57,8 +57,10 @@ jobs: uses: EnricoMi/publish-unit-test-result-action@v1 if: always() with: - files: junit/test-*.xml - comment_mode: update last + files: | + test-results/**/*.xml + test-results/**/*.trx + test-results/**/*.json - name: CodeCov uses: codecov/codecov-action@v2.1.0 diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index 81458ca08..1464b7d02 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -55,7 +55,8 @@ jobs: - name: Publish unit test results uses: EnricoMi/publish-unit-test-result-action/composite@v2 if: always() - files: | - test-results/**/*.xml - test-results/**/*.trx - test-results/**/*.json + with: + files: | + test-results/**/*.xml + test-results/**/*.trx + test-results/**/*.json diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index 210901497..542a43eac 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -56,5 +56,7 @@ jobs: uses: EnricoMi/publish-unit-test-result-action/composite@v2 if: always() with: - files: junit/test-*.xml - comment_mode: update last + files: | + test-results/**/*.xml + test-results/**/*.trx + test-results/**/*.json \ No newline at end of file From 2e436a47f1f4508a829b4b78a5340c15b00a6e91 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 24 Oct 2023 13:40:16 -0700 Subject: [PATCH 10/41] pip installing pytest on macos tests trying Tiryoh/gha-jobid-action@v1 to get job id on Windows. --- .github/workflows/tests-macos.yml | 1 + .github/workflows/tests-windows.yml | 8 ++------ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index 1464b7d02..b6be5c760 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -37,6 +37,7 @@ jobs: run: | python3 -m pip install -U pip python3 -m pip install -e . + pip install pytest pytest-cov - name: Run tests and generate coverage if: steps.install.outcome == 'success' diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index 542a43eac..47b1a5d7b 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -45,12 +45,8 @@ jobs: make test - name: Get unique id - id: unique-id - env: - STRATEGY_CONTEXT: ${{ toJson(strategy) }} - run: | - export JOB_ID=`echo $STRATEGY_CONTEXT | md5sum` - echo "::set-output name=id::$JOB_ID" + uses: Tiryoh/gha-jobid-action@v1 + id: jobs - name: Publish unit test results uses: EnricoMi/publish-unit-test-result-action/composite@v2 From b9277ffc3d246d8c03793a6e49b3890f4a935130 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 24 Oct 2023 14:02:15 -0700 Subject: [PATCH 11/41] Using python3 to install pip. --- .github/workflows/tests-linux.yml | 8 ++------ .github/workflows/tests-macos.yml | 10 +++------- .github/workflows/tests-windows.yml | 5 +++-- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 2ee8e864e..140a99fdb 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -46,12 +46,8 @@ jobs: make coverage - name: Get unique id - id: unique-id - env: - STRATEGY_CONTEXT: ${{ toJson(strategy) }} - run: | - export JOB_ID=`echo $STRATEGY_CONTEXT | md5sum` - echo "::set-output name=id::$JOB_ID" + uses: Tiryoh/gha-jobid-action@v1 + id: jobs - name: Publish unit test results uses: EnricoMi/publish-unit-test-result-action@v1 diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index b6be5c760..e63577c87 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -37,7 +37,7 @@ jobs: run: | python3 -m pip install -U pip python3 -m pip install -e . - pip install pytest pytest-cov + python3 -m pip install pytest pytest-cov - name: Run tests and generate coverage if: steps.install.outcome == 'success' @@ -46,12 +46,8 @@ jobs: make test - name: Get unique id - id: unique-id - env: - STRATEGY_CONTEXT: ${{ toJson(strategy) }} - run: | - export JOB_ID=`echo $STRATEGY_CONTEXT | md5sum` - echo "{name}={value}" >> $GITHUB_OUTPUT + uses: Tiryoh/gha-jobid-action@v1 + id: jobs - name: Publish unit test results uses: EnricoMi/publish-unit-test-result-action/composite@v2 diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index 47b1a5d7b..fbca568e2 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -35,8 +35,9 @@ jobs: if: steps.setup_python.outcome == 'success' shell: bash -l {0} run: | - python -m pip install -U pip - python -m pip install -e . + python3 -m pip install -U pip + python3 -m pip install -e . + python3 -m pip install pytest pytest-cov - name: Run tests and generate coverage if: steps.install.outcome == 'success' From 1cdc31aac107e6045527ea8cfef5d62136ca705e Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 24 Oct 2023 16:46:07 -0700 Subject: [PATCH 12/41] Removed statements that printed file name. Fixed errors of comments within comments in flare.c. --- src/flare.c | 47 ++--------------------------------------------- src/options.c | 17 ----------------- 2 files changed, 2 insertions(+), 62 deletions(-) diff --git a/src/flare.c b/src/flare.c index 805db014d..1e28291e0 100644 --- a/src/flare.c +++ b/src/flare.c @@ -97,49 +97,6 @@ void ReadFlareFFD(BODY *body, } else if (iFile > 0) body[iFile - 1].iFlareFFD = FLARE_FFD_DAVENPORT; } -/* -void ReadFlareSlopeUnits(BODY *body, - CONTROL *control, - FILES *files, - OPTIONS *options, - SYSTEM *system, - int iFile) { - /* This parameter cannot exist in primary file */ -/*int lTmp = -1; -char cTmp[OPTLEN]; - -AddOptionString(files->Infile[iFile].cIn, - options->cName, - cTmp, - &lTmp, - control->Io.iVerbose); -if (lTmp >= 0) { - NotPrimaryInput(iFile, - options->cName, - files->Infile[iFile].cIn, - lTmp, - control->Io.iVerbose); - if (!memcmp(sLower(cTmp), "se", 2)) { - body[iFile - 1].iFlareSlopeUnits = FLARE_SLOPE_SEC; - } else if (!memcmp(sLower(cTmp), "mi", 2)) { - body[iFile - 1].iFlareSlopeUnits = FLARE_SLOPE_MINUTE; - } else if (!memcmp(sLower(cTmp), "ho", 2)) { - body[iFile - 1].iFlareSlopeUnits = FLARE_SLOPE_HOUR; - } else if (!memcmp(sLower(cTmp), "da", 2)) { - body[iFile - 1].iFlareSlopeUnits = FLARE_SLOPE_DAY; - } else { - if (control->Io.iVerbose >= VERBERR) - fprintf(stderr, - "ERROR: Unknown argument to %s: %s. Options are SEC, MIN, HOUR " - "or DAY.\n", - options->cName, - cTmp); - LineExit(files->Infile[iFile].cIn, lTmp); - } - UpdateFoundOption(&files->Infile[iFile], options, lTmp, iFile); -} else if (iFile > 0) - body[iFile - 1].iFlareSlopeUnits = FLARE_SLOPE_DAY; -}*/ void ReadFlareBandPass(BODY *body, CONTROL *control, @@ -1018,8 +975,8 @@ void FinalizeUpdateLXUVFlare(BODY *body, UPDATE *update, int *iEqn, int iVar, // not need this. /*void FinalizeUpdateFlareFreqMax(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo) { - /* No primary variables for FLARE yet*/ -/* update[iBody].iaModule[iVar][*iEqn] = FLARE; + // No primary variables for FLARE yet + // update[iBody].iaModule[iVar][*iEqn] = FLARE; update[iBody].iNumFlareFreqMax = (*iEqn)++; } */ diff --git a/src/options.c b/src/options.c index 10901f10e..da151ceed 100644 --- a/src/options.c +++ b/src/options.c @@ -436,8 +436,6 @@ int iGetNumLines(char cFile[]) { FILE *fp; char cLine[LINE]; - fprintf(stderr,"File: %s\n",cFile); - fp = fopen(cFile, "r"); if (fp == NULL) { fprintf(stderr, "Unable to open %s.\n", cFile); @@ -445,9 +443,7 @@ int iGetNumLines(char cFile[]) { } memset(cLine, '\0', LINE); - // fprintf(stderr,"File: %s\n",cFile); while (fgets(cLine, LINE, fp) != NULL) { - // fprintf(stderr,"iLine: %d, %s",iNumLines,cLine); iNumLines++; /* Check to see if line is too long. The maximum length of a line is set @@ -489,8 +485,6 @@ void InitializeInput(INFILE *input) { FILE *fp; char cLine[LINE]; -fprintf(stderr,"File: %s\n",input->cIn); - fp = fopen(input->cIn, "r"); if (fp == NULL) { fprintf(stderr, "Unable to open %s.\n", input->cIn); @@ -503,23 +497,12 @@ fprintf(stderr,"File: %s\n",input->cIn); input->cReactions[0] = 0; */ - // fprintf(stderr,"File: %s\n",input->cIn); for (iLine = 0; iLine < input->iNumLines; iLine++) { - /* Initialize bLineOK */ input->bLineOK[iLine] = 0; - - /* Now find those lines that are comments or blank - for (iPos = 0; iPos < LINE; iPos++) { - cLine[iPos] = '\0'; - } - */ memset(cLine, '\0', LINE); fgets(cLine, LINE, fp); - // fprintf(stderr,"iLine: %d, %s",iLine,cLine); - /* Check for # sign or blank line */ if (CheckComment(cLine, LINE)) { - /* Line is OK */ input->bLineOK[iLine] = 1; } else { // Is it a blank line? From 5ed119e865e44f42731b4d3852718687622e88d3 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 24 Oct 2023 16:48:46 -0700 Subject: [PATCH 13/41] Setting quiet to False in conftest.py to see if I can get more output as to why the Flare tests are failing on macOS. --- tests/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/conftest.py b/tests/conftest.py index a5c21307f..6878c35b3 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -20,7 +20,7 @@ def vplanet_output(request): path = os.path.abspath(os.path.dirname(request.fspath)) infile = os.path.join(path, "vpl.in") - output = vplanet.run(infile, quiet=True, clobber=True, C=True) + output = vplanet.run(infile, quiet=False, clobber=True, C=True) yield output if CLEAN_OUTPUTS: for file in ( From 005385296c8760caabb577dc7a5c15a4e7202479 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 24 Oct 2023 17:26:58 -0700 Subject: [PATCH 14/41] Added print statements in WriteLog to try to find error in Flare unit tests. --- src/output.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/output.c b/src/output.c index 487df799e..1fc09795b 100644 --- a/src/output.c +++ b/src/output.c @@ -2167,7 +2167,9 @@ void WriteLog(BODY *body, CONTROL *control, FILES *files, MODULE *module, /* Get derivatives */ PropertiesAuxiliary(body, control, system, update); + printf("After PropsAux.\n"); dDt = fdGetTimeStep(body, control, system, update, fnUpdate); + printf("After GetTimeStep.\n"); if (iEnd == 0) { sprintf(cTime, "Input"); From 4ee72829a64081cf0d298477cdd4630933b6d034 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 24 Oct 2023 17:47:47 -0700 Subject: [PATCH 15/41] Changed debugging output to stderr to actually print the progress to the screen on GitHub. --- src/output.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/output.c b/src/output.c index 1fc09795b..8526ff5e8 100644 --- a/src/output.c +++ b/src/output.c @@ -2166,10 +2166,11 @@ void WriteLog(BODY *body, CONTROL *control, FILES *files, MODULE *module, double dDt, dTotTime; /* Get derivatives */ + fprintf(stderr,"In WriteLog.\n"); PropertiesAuxiliary(body, control, system, update); - printf("After PropsAux.\n"); + fprintf(stderr,"After PropsAux.\n"); dDt = fdGetTimeStep(body, control, system, update, fnUpdate); - printf("After GetTimeStep.\n"); + fprintf(stderr,"After GetTimeStep.\n"); if (iEnd == 0) { sprintf(cTime, "Input"); From 5fd71760213f40fe003683624cb20836e8a1669e Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Wed, 25 Oct 2023 10:26:49 -0700 Subject: [PATCH 16/41] Tryingt of orce unit tests to fail if vplanet errors. I updated conftest.py and wrapper.py. --- tests/conftest.py | 2 ++ vplanet/wrapper.py | 9 +++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 6878c35b3..1090c9521 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -21,6 +21,8 @@ def vplanet_output(request): path = os.path.abspath(os.path.dirname(request.fspath)) infile = os.path.join(path, "vpl.in") output = vplanet.run(infile, quiet=False, clobber=True, C=True) + if output == "Error running VPLanet.": + assert False yield output if CLEAN_OUTPUTS: for file in ( diff --git a/vplanet/wrapper.py b/vplanet/wrapper.py index 3e44ef4c0..3b5195efe 100644 --- a/vplanet/wrapper.py +++ b/vplanet/wrapper.py @@ -90,10 +90,11 @@ def run( except subprocess.CalledProcessError as e: error = True if error: - raise VPLANETError("Error running VPLANET.") - - # Grab the output - output = get_output(path=path, sysname=sysname, units=units) + #raise VPLANETError("Error running VPLANET.") + output = "Error running VPLanet." + else: + # Grab the output + output = get_output(path=path, sysname=sysname, units=units) # We're done! return output From 0248b9ef40c0b09352c1ea48f891505312c4a2d7 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Wed, 25 Oct 2023 11:32:22 -0700 Subject: [PATCH 17/41] Reverted back to old way of running conftest and wrapper as that did not cause vplanet errors to fail. --- tests/conftest.py | 2 -- vplanet/wrapper.py | 9 ++++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 1090c9521..6878c35b3 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -21,8 +21,6 @@ def vplanet_output(request): path = os.path.abspath(os.path.dirname(request.fspath)) infile = os.path.join(path, "vpl.in") output = vplanet.run(infile, quiet=False, clobber=True, C=True) - if output == "Error running VPLanet.": - assert False yield output if CLEAN_OUTPUTS: for file in ( diff --git a/vplanet/wrapper.py b/vplanet/wrapper.py index 3b5195efe..3e44ef4c0 100644 --- a/vplanet/wrapper.py +++ b/vplanet/wrapper.py @@ -90,11 +90,10 @@ def run( except subprocess.CalledProcessError as e: error = True if error: - #raise VPLANETError("Error running VPLANET.") - output = "Error running VPLanet." - else: - # Grab the output - output = get_output(path=path, sysname=sysname, units=units) + raise VPLANETError("Error running VPLANET.") + + # Grab the output + output = get_output(path=path, sysname=sysname, units=units) # We're done! return output From 1da7eb8aeb7f85a7f14a7b0e934b3402cef1b94e Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Tue, 31 Oct 2023 14:22:51 -0700 Subject: [PATCH 18/41] Trying a new version of the macos testing yaml. --- .github/workflows/tests-macos.yml | 106 ++++++++++++++++++++++++------ 1 file changed, 85 insertions(+), 21 deletions(-) diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index e63577c87..09248947d 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -1,12 +1,70 @@ -name: tests-macos +# name: tests-macos + +# on: +# push: +# branches: [main] +# pull_request: +# branches: [main] +# workflow_dispatch: + +# jobs: +# tests: +# name: '${{ matrix.os }}:python-${{ matrix.python-version }}' +# runs-on: ${{ matrix.os }} +# strategy: +# matrix: +# os: [macos-11, macos-12, macos-13] +# python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] +# fail-fast: false + +# steps: +# - uses: actions/checkout@v3 +# with: +# fetch-depth: 0 + +# - name: Set up Python +# id: setup_python +# uses: actions/setup-python@v4 +# with: +# activate-environment: vplanet +# environment-file: environment.yml +# python-version: ${{ matrix.python-version }} + +# - name: Install +# id: install +# if: steps.setup_python.outcome == 'success' +# shell: bash -l {0} +# run: | +# python3 -m pip install -U pip +# python3 -m pip install -e . +# python3 -m pip install pytest pytest-cov +# - name: Run tests and generate coverage +# if: steps.install.outcome == 'success' +# shell: bash -l {0} +# run: | +# make test + +# - name: Get unique id +# uses: Tiryoh/gha-jobid-action@v1 +# id: jobs + +# - name: Publish unit test results +# uses: EnricoMi/publish-unit-test-result-action/composite@v2 +# if: always() +# with: +# files: | +# test-results/**/*.xml +# test-results/**/*.trx +# test-results/**/*.json + +name: tests-macos on: push: branches: [main] pull_request: branches: [main] workflow_dispatch: - jobs: tests: name: '${{ matrix.os }}:python-${{ matrix.python-version }}' @@ -16,39 +74,45 @@ jobs: os: [macos-11, macos-12, macos-13] python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] fail-fast: false - steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v2 with: fetch-depth: 0 - - name: Set up Python id: setup_python - uses: actions/setup-python@v4 + uses: actions/setup-python@v2 with: - activate-environment: vplanet - environment-file: environment.yml python-version: ${{ matrix.python-version }} - - - name: Install - id: install + - name: Install dependencies if: steps.setup_python.outcome == 'success' - shell: bash -l {0} run: | - python3 -m pip install -U pip - python3 -m pip install -e . - python3 -m pip install pytest pytest-cov - + python -m pip install -U pip + python -m pip install -e . + python -m pip install pytest pytest-cov - name: Run tests and generate coverage - if: steps.install.outcome == 'success' - shell: bash -l {0} + if: steps.setup_python.outcome == 'success' run: | make test - + - name: Upload test results + uses: actions/upload-artifact@v2 + with: + name: test-results + path: test-results + - name: Download test results + uses: actions/download-artifact@v2 + with: + name: test-results + - name: Check test results and fail if tests failed + run: | + # Check if there are any test failures (you might need to adjust this) + if grep -q " Date: Tue, 31 Oct 2023 20:29:35 -0700 Subject: [PATCH 19/41] Fixed typos in maketest.py and versions in setup.py. --- setup.py | 8 ++++---- tests/maketest.py | 21 +++++++-------------- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/setup.py b/setup.py index a3b01749f..d84a50b54 100644 --- a/setup.py +++ b/setup.py @@ -67,10 +67,10 @@ def run(self): # Vplanet suite of tools vplanet_suite = [ - "vplot==1.0.5", - "vspace==2.1.0", - "bigplanet==3.0.0", - "multiplanet==2.0.2", + "vplot>=1.0.5", + "vspace>=2.1.0", + "bigplanet>=3.0.0", + "multiplanet>=2.0.2", ] setup( diff --git a/tests/maketest.py b/tests/maketest.py index 87debeae4..ab5d62924 100644 --- a/tests/maketest.py +++ b/tests/maketest.py @@ -33,7 +33,6 @@ def Main(dir, initial=False): dir_list = [dir] for dirname in dir_list: - if dirname in skip_list: continue if dirname in initial_list: @@ -144,14 +143,12 @@ def GetSNames(bodyfiles): def ProcessLogFile(logfile, data, forward, backward, initial=False): - prop = "" body = "system" with open(logfile, "r+", errors="ignore") as log: content = [line.strip() for line in log.readlines()] for line in content: - if len(line) == 0: continue @@ -173,11 +170,9 @@ def ProcessLogFile(logfile, data, forward, backward, initial=False): # if the line starts with a '(' that means its a variable we need to grab the units if line.startswith("("): - if initial == True and prop == "final": continue else: - fv_param = line[1 : line.find(")")].strip() # THIS IS FOR VARIABLES THAT START WITH NUMBERS CURRENTLY BUGGED FIX AT LATER DATE @@ -259,7 +254,6 @@ def ProcessLogFile(logfile, data, forward, backward, initial=False): def ProcessOutputfile(file, data, body, Output): - header = [] units = [] for k, v in Output.items(): @@ -288,9 +282,7 @@ def ProcessOutputfile(file, data, body, Output): def ProcessUnits(data): - for k, v in data.items(): - if "Order" in k: continue @@ -437,7 +429,6 @@ def ProcessUnits(data): def WriteTest(data, dirname, stellar): - badchars = "- " for i in badchars: dirname = dirname.replace(i, "") @@ -514,20 +505,22 @@ def WriteTest(data, dirname, stellar): t.write(" pass") t.write(" \n") - print("Successfuly created new test file: "+dirname+"/"+test_file) - + print("Successfuly created new test file: " + dirname + "/" + test_file) def Arguments(): parser = argparse.ArgumentParser( - description="Extract data from Vplanet simulations" + description="Extract data from VPLanet simulations" + ) + parser.add_argument( + "dir", + help="Name of directory you want to run. Use 'all' to recreate all tests.", ) - parser.add_argument("dir", help="name of directory you want to run") parser.add_argument( "-i", "--initial", action="store_true", - help="grabs initial data instead of final", + help="Only use initial data for test", ) args = parser.parse_args() From da4a7b3c720417cbdd1c77f0300fdaaf5bc6db62 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Tue, 31 Oct 2023 20:42:58 -0700 Subject: [PATCH 20/41] Upgraded some commands in test-linux yml file. --- .github/workflows/tests-linux.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 140a99fdb..ff1fb14bc 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -16,6 +16,9 @@ jobs: os: [ubuntu-20.04, ubuntu-22.04] python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] fail-fast: false + exclude: + - os: ubuntu-latest + python-version: 3.6 steps: - uses: actions/checkout@v3 @@ -26,8 +29,8 @@ jobs: id: setup_python uses: actions/setup-python@v4 with: - activate-environment: vplanet - environment-file: environment.yml + #activate-environment: vplanet + #environment-file: environment.yml python-version: ${{ matrix.python-version }} - name: Install @@ -54,11 +57,11 @@ jobs: if: always() with: files: | - test-results/**/*.xml + #test-results/**/*.xml test-results/**/*.trx test-results/**/*.json - name: CodeCov - uses: codecov/codecov-action@v2.1.0 + uses: codecov/codecov-action@v3 with: files: ./.coverage From 4568db9757c8cc67c5f95d5406f76d8af6366b23 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Tue, 31 Oct 2023 21:04:45 -0700 Subject: [PATCH 21/41] Reverting to using activate-environment and environment-file to see if that averts startup failure on github. --- .github/workflows/tests-linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index ff1fb14bc..f6e7e295d 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -29,8 +29,8 @@ jobs: id: setup_python uses: actions/setup-python@v4 with: - #activate-environment: vplanet - #environment-file: environment.yml + activate-environment: vplanet + environment-file: environment.yml python-version: ${{ matrix.python-version }} - name: Install From 35835114a62de1f871002f145ab8c15f3d06bdd1 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Tue, 31 Oct 2023 21:08:45 -0700 Subject: [PATCH 22/41] Reverted back to not exclude ubuntu-atest/python3.6 from tests-linux.yml. --- .github/workflows/tests-linux.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index f6e7e295d..6699bd8de 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -16,9 +16,9 @@ jobs: os: [ubuntu-20.04, ubuntu-22.04] python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] fail-fast: false - exclude: - - os: ubuntu-latest - python-version: 3.6 + # exclude: + # - os: ubuntu-latest + # python-version: 3.6 steps: - uses: actions/checkout@v3 From a06f1c8026cfcfddb6d9196e579079dd03dff243 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Tue, 31 Oct 2023 21:13:47 -0700 Subject: [PATCH 23/41] Trying again to exclude ubuntu-latest/python3.6 --- .github/workflows/tests-linux.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 6699bd8de..6ff36c9ae 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -16,9 +16,9 @@ jobs: os: [ubuntu-20.04, ubuntu-22.04] python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] fail-fast: false - # exclude: - # - os: ubuntu-latest - # python-version: 3.6 + exclude: + - os: ubuntu-latest + python-version: '3.6' steps: - uses: actions/checkout@v3 From 04e756c844712dc9fdd9457d25e3a8ab12c05c3a Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Tue, 31 Oct 2023 21:21:22 -0700 Subject: [PATCH 24/41] Trying again with tests-linux --- .github/workflows/tests-linux.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 6ff36c9ae..cc1697d61 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -15,10 +15,10 @@ jobs: matrix: os: [ubuntu-20.04, ubuntu-22.04] python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] + exclude: + - os: ubuntu-latest + python-version: '3.6' fail-fast: false - exclude: - - os: ubuntu-latest - python-version: '3.6' steps: - uses: actions/checkout@v3 From 4a7d514c9384307c23ffe4d0de671da91665ac59 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Tue, 31 Oct 2023 21:22:55 -0700 Subject: [PATCH 25/41] Trying again again to fix tests-linux --- .github/workflows/tests-linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index cc1697d61..37e2ea5c6 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -16,7 +16,7 @@ jobs: os: [ubuntu-20.04, ubuntu-22.04] python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] exclude: - - os: ubuntu-latest + - os: ubuntu-22.04 python-version: '3.6' fail-fast: false From 0d9d1a92e6854155b731734a8aa6786a0523c826 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Tue, 31 Oct 2023 21:49:52 -0700 Subject: [PATCH 26/41] Removed call to activate-environment and environment-file in tests-linux. --- .github/workflows/tests-linux.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 37e2ea5c6..caf89ea5b 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -29,8 +29,8 @@ jobs: id: setup_python uses: actions/setup-python@v4 with: - activate-environment: vplanet - environment-file: environment.yml + # activate-environment: vplanet + # environment-file: environment.yml python-version: ${{ matrix.python-version }} - name: Install @@ -57,7 +57,7 @@ jobs: if: always() with: files: | - #test-results/**/*.xml + test-results/**/*.xml test-results/**/*.trx test-results/**/*.json From 20126c413041c3bcbdbeec9b4808fc9a8cdda6e0 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Tue, 31 Oct 2023 22:00:54 -0700 Subject: [PATCH 27/41] Removed test-results/**.*.xml --- .github/workflows/tests-linux.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index caf89ea5b..8633242df 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -29,8 +29,6 @@ jobs: id: setup_python uses: actions/setup-python@v4 with: - # activate-environment: vplanet - # environment-file: environment.yml python-version: ${{ matrix.python-version }} - name: Install @@ -57,7 +55,6 @@ jobs: if: always() with: files: | - test-results/**/*.xml test-results/**/*.trx test-results/**/*.json From 829044a034aa6840af22cf4ec6947f99e4bbb963 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 1 Nov 2023 08:28:04 -0700 Subject: [PATCH 28/41] Removed .rtx files from tests-linux. Updated EnricoMi/publish-unit-test-result-action to v2. --- .github/workflows/tests-linux.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 8633242df..0e7b07980 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -51,11 +51,10 @@ jobs: id: jobs - name: Publish unit test results - uses: EnricoMi/publish-unit-test-result-action@v1 + uses: EnricoMi/publish-unit-test-result-action@v2 if: always() with: files: | - test-results/**/*.trx test-results/**/*.json - name: CodeCov From fbea44ecd1891a753b6f13d917840d57d191f3fa Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 1 Nov 2023 08:45:04 -0700 Subject: [PATCH 29/41] Installing pytest explicitly on tests-linux --- .github/workflows/tests-linux.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 0e7b07980..967f82649 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -38,6 +38,7 @@ jobs: run: | python -m pip install -U pip python -m pip install -e . + pip install pytest pytest-cov sudo apt install lcov - name: Run tests and generate coverage @@ -55,6 +56,8 @@ jobs: if: always() with: files: | + test-results/**/*.xml + test-results/**/*.trx test-results/**/*.json - name: CodeCov From af40543aa46fd13a1a0d1927d2a45d1547d9afc6 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 1 Nov 2023 10:17:07 -0700 Subject: [PATCH 30/41] Changed unit tests results to be located in junit/test-*.xml --- .github/workflows/tests-linux.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 967f82649..b9a3ee301 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -55,10 +55,7 @@ jobs: uses: EnricoMi/publish-unit-test-result-action@v2 if: always() with: - files: | - test-results/**/*.xml - test-results/**/*.trx - test-results/**/*.json + files: junit/test-*.xml - name: CodeCov uses: codecov/codecov-action@v3 From 6d5474b1fbdb3d97fba7c72f810929fc53202ec3 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 1 Nov 2023 11:01:12 -0700 Subject: [PATCH 31/41] Added Python 3.12. Updated some commands in tests-macos. --- .github/workflows/tests-linux.yml | 13 ++++++++++++- .github/workflows/tests-macos.yml | 25 ++++++++++++------------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index b9a3ee301..469bcca9c 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-20.04, ubuntu-22.04] - python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] + python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] exclude: - os: ubuntu-22.04 python-version: '3.6' @@ -47,6 +47,17 @@ jobs: run: | make coverage + # These steps will cause a fail if there is an error during the testing + - name: Upload test results + uses: actions/upload-artifact@v2 + with: + name: test-results + path: test-results + - name: Download test results + uses: actions/download-artifact@v2 + with: + name: test-results + - name: Get unique id uses: Tiryoh/gha-jobid-action@v1 id: jobs diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index 09248947d..f2865acc4 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -72,27 +72,32 @@ jobs: strategy: matrix: os: [macos-11, macos-12, macos-13] - python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] + python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] fail-fast: false steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 + - name: Set up Python id: setup_python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} + - name: Install dependencies if: steps.setup_python.outcome == 'success' run: | python -m pip install -U pip python -m pip install -e . python -m pip install pytest pytest-cov - - name: Run tests and generate coverage + + - name: Run tests if: steps.setup_python.outcome == 'success' run: | make test + + # These steps will cause a fail if there is an error during the testing - name: Upload test results uses: actions/upload-artifact@v2 with: @@ -102,17 +107,11 @@ jobs: uses: actions/download-artifact@v2 with: name: test-results - - name: Check test results and fail if tests failed - run: | - # Check if there are any test failures (you might need to adjust this) - if grep -q " Date: Wed, 1 Nov 2023 11:32:47 -0700 Subject: [PATCH 32/41] Removed tests-windows. Windows users will have to use WSL. More tweaks to tests-linux. --- .github/workflows/tests-linux.yml | 13 ++++--- .github/workflows/tests-windows.yml | 59 ----------------------------- 2 files changed, 7 insertions(+), 65 deletions(-) delete mode 100644 .github/workflows/tests-windows.yml diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 469bcca9c..eabe78db9 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -37,7 +37,7 @@ jobs: shell: bash -l {0} run: | python -m pip install -U pip - python -m pip install -e . + # python -m pip install -e . pip install pytest pytest-cov sudo apt install lcov @@ -49,14 +49,15 @@ jobs: # These steps will cause a fail if there is an error during the testing - name: Upload test results - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: - name: test-results - path: test-results + name: test-*.xml + path: junit - name: Download test results - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: - name: test-results + name: test-*.xml + path: junit - name: Get unique id uses: Tiryoh/gha-jobid-action@v1 diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml deleted file mode 100644 index fbca568e2..000000000 --- a/.github/workflows/tests-windows.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: tests-windows - -on: - push: - branches: [main] - pull_request: - branches: [main] - workflow_dispatch: - -jobs: - tests: - name: '${{ matrix.os }}:python-${{ matrix.python-version }}' - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [windows-2019, windows-2022] - python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] - fail-fast: false - - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Set up Python - id: setup_python - uses: actions/setup-python@v4 - with: - activate-environment: vplanet - environment-file: environment.yml - python-version: ${{ matrix.python-version }} - - - name: Install - id: install - if: steps.setup_python.outcome == 'success' - shell: bash -l {0} - run: | - python3 -m pip install -U pip - python3 -m pip install -e . - python3 -m pip install pytest pytest-cov - - - name: Run tests and generate coverage - if: steps.install.outcome == 'success' - shell: bash -l {0} - run: | - make test - - - name: Get unique id - uses: Tiryoh/gha-jobid-action@v1 - id: jobs - - - name: Publish unit test results - uses: EnricoMi/publish-unit-test-result-action/composite@v2 - if: always() - with: - files: | - test-results/**/*.xml - test-results/**/*.trx - test-results/**/*.json \ No newline at end of file From d488ac9374eb5355804b08d9fc8b8d18c4159439 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 1 Nov 2023 11:49:30 -0700 Subject: [PATCH 33/41] Reinserting python -m pip install -e . in tests-linux.yml. --- .github/workflows/tests-linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index eabe78db9..2edbe10df 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -37,7 +37,7 @@ jobs: shell: bash -l {0} run: | python -m pip install -U pip - # python -m pip install -e . + python -m pip install -e . pip install pytest pytest-cov sudo apt install lcov From cfd3fb8d2b9c188ba3b7f157a1061461ff183f0e Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 1 Nov 2023 12:23:04 -0700 Subject: [PATCH 34/41] Trying a new way to fail if tests error. Now using andstor/file-existence-action@v2. --- .github/workflows/tests-linux.yml | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 2edbe10df..84c2eb80d 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -44,20 +44,27 @@ jobs: - name: Run tests and generate coverage if: steps.install.outcome == 'success' shell: bash -l {0} - run: | - make coverage + run: make coverage # These steps will cause a fail if there is an error during the testing - - name: Upload test results - uses: actions/upload-artifact@v3 + # - name: Download test results + # uses: actions/download-artifact@v3 + # with: + # name: test-results.xml + # path: /home/runner/work/vplanet/vplanet/junit + - name: Check test ouptut created + id: check_test_file + uses: andstor/file-existence-action@v2 with: - name: test-*.xml - path: junit - - name: Download test results - uses: actions/download-artifact@v3 + files: "/home/runner/work/vplanet/vplanet/junit/test-results.xml" + fail: + + - name: Check test ouptut created + id: check_test_file + uses: andstor/file-existence-action@v2 with: - name: test-*.xml - path: junit + files: "/home/runner/work/vplanet/vplanet/junit/test-results.xml" + fail: - name: Get unique id uses: Tiryoh/gha-jobid-action@v1 From 34149b4d08bc420cd066c32e600fc8a4324e823b Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 1 Nov 2023 12:25:33 -0700 Subject: [PATCH 35/41] Fixed typo --- .github/workflows/tests-linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 84c2eb80d..23ebe2305 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -60,10 +60,10 @@ jobs: fail: - name: Check test ouptut created - id: check_test_file + id: check_coverage_file uses: andstor/file-existence-action@v2 with: - files: "/home/runner/work/vplanet/vplanet/junit/test-results.xml" + files: "/home/runner/work/vplanet/vplanet/coverage" fail: - name: Get unique id From e2128e83b922942b6758cb0dfa5e44320bff2e72 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 1 Nov 2023 12:28:47 -0700 Subject: [PATCH 36/41] Adding true to fail for file existence checks. --- .github/workflows/tests-linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 23ebe2305..1f808b52d 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -57,14 +57,14 @@ jobs: uses: andstor/file-existence-action@v2 with: files: "/home/runner/work/vplanet/vplanet/junit/test-results.xml" - fail: + fail: true - name: Check test ouptut created id: check_coverage_file uses: andstor/file-existence-action@v2 with: files: "/home/runner/work/vplanet/vplanet/coverage" - fail: + fail: true - name: Get unique id uses: Tiryoh/gha-jobid-action@v1 From 6feefa95ba704b3ff33a05c2f4e3db41dec29ba7 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 1 Nov 2023 12:37:35 -0700 Subject: [PATCH 37/41] Removed check of existence of coverage file --- .github/workflows/tests-linux.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 1f808b52d..825f16e5c 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -59,13 +59,6 @@ jobs: files: "/home/runner/work/vplanet/vplanet/junit/test-results.xml" fail: true - - name: Check test ouptut created - id: check_coverage_file - uses: andstor/file-existence-action@v2 - with: - files: "/home/runner/work/vplanet/vplanet/coverage" - fail: true - - name: Get unique id uses: Tiryoh/gha-jobid-action@v1 id: jobs From 7df94a7cc0c93c69a875a0fc9dfd6b9640896443 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 1 Nov 2023 12:49:55 -0700 Subject: [PATCH 38/41] Rmoeved Python3.12 from tests-linux. Added file check in tests-macos. --- .github/workflows/tests-linux.yml | 8 +------- .github/workflows/tests-macos.yml | 22 +++++++--------------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/.github/workflows/tests-linux.yml b/.github/workflows/tests-linux.yml index 825f16e5c..726ec8a3e 100644 --- a/.github/workflows/tests-linux.yml +++ b/.github/workflows/tests-linux.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-20.04, ubuntu-22.04] - python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] exclude: - os: ubuntu-22.04 python-version: '3.6' @@ -46,12 +46,6 @@ jobs: shell: bash -l {0} run: make coverage - # These steps will cause a fail if there is an error during the testing - # - name: Download test results - # uses: actions/download-artifact@v3 - # with: - # name: test-results.xml - # path: /home/runner/work/vplanet/vplanet/junit - name: Check test ouptut created id: check_test_file uses: andstor/file-existence-action@v2 diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index f2865acc4..0f9664626 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -94,19 +94,14 @@ jobs: - name: Run tests if: steps.setup_python.outcome == 'success' - run: | - make test + run: make test - # These steps will cause a fail if there is an error during the testing - - name: Upload test results - uses: actions/upload-artifact@v2 - with: - name: test-results - path: test-results - - name: Download test results - uses: actions/download-artifact@v2 + - name: Check test ouptut created + id: check_test_file + uses: andstor/file-existence-action@v2 with: - name: test-results + files: "/home/runner/work/vplanet/vplanet/junit/test-results.xml" + fail: true - name: Get unique id uses: Tiryoh/gha-jobid-action@v1 @@ -116,7 +111,4 @@ jobs: uses: EnricoMi/publish-unit-test-result-action/composite@v2 if: always() with: - files: | - test-results/**/*.xml - test-results/**/*.trx - test-results/**/*.json + files: junit/test-*.xml From cf50467fd3671a052825b39912194d0de2927b29 Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 1 Nov 2023 13:34:09 -0700 Subject: [PATCH 39/41] Updated README to reflect new testing procedures. --- .github/workflows/tests-macos.yml | 61 +------------------------- README.md | 72 +++++++++++++++++++++---------- 2 files changed, 51 insertions(+), 82 deletions(-) diff --git a/.github/workflows/tests-macos.yml b/.github/workflows/tests-macos.yml index 0f9664626..eb315d46b 100644 --- a/.github/workflows/tests-macos.yml +++ b/.github/workflows/tests-macos.yml @@ -1,63 +1,3 @@ -# name: tests-macos - -# on: -# push: -# branches: [main] -# pull_request: -# branches: [main] -# workflow_dispatch: - -# jobs: -# tests: -# name: '${{ matrix.os }}:python-${{ matrix.python-version }}' -# runs-on: ${{ matrix.os }} -# strategy: -# matrix: -# os: [macos-11, macos-12, macos-13] -# python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11'] -# fail-fast: false - -# steps: -# - uses: actions/checkout@v3 -# with: -# fetch-depth: 0 - -# - name: Set up Python -# id: setup_python -# uses: actions/setup-python@v4 -# with: -# activate-environment: vplanet -# environment-file: environment.yml -# python-version: ${{ matrix.python-version }} - -# - name: Install -# id: install -# if: steps.setup_python.outcome == 'success' -# shell: bash -l {0} -# run: | -# python3 -m pip install -U pip -# python3 -m pip install -e . -# python3 -m pip install pytest pytest-cov - -# - name: Run tests and generate coverage -# if: steps.install.outcome == 'success' -# shell: bash -l {0} -# run: | -# make test - -# - name: Get unique id -# uses: Tiryoh/gha-jobid-action@v1 -# id: jobs - -# - name: Publish unit test results -# uses: EnricoMi/publish-unit-test-result-action/composite@v2 -# if: always() -# with: -# files: | -# test-results/**/*.xml -# test-results/**/*.trx -# test-results/**/*.json - name: tests-macos on: push: @@ -65,6 +5,7 @@ on: pull_request: branches: [main] workflow_dispatch: + jobs: tests: name: '${{ matrix.os }}:python-${{ matrix.python-version }}' diff --git a/README.md b/README.md index 503a90834..e9f255cdb 100644 --- a/README.md +++ b/README.md @@ -5,32 +5,60 @@

VPLanet: The Virtual Planet Simulator

- + + + - - - -
- - - - + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ - + + -
-
+ + +
+ + + - - + + + -
- - ascl:1811.017 - -
- - + + +
+ + ascl:1811.017 + + + + +

@@ -87,7 +115,7 @@ An ecosystem of support software is also publicly available. [VPLot](https://git ### Code Integrity -Behind the scenes, the VPLanet team maintains code integrity through via various automatic checks at every merge into the main branch. You can see the status of these checks via the "badges" the GitHub logo above. Currently we perform 5 checks: documentation ("docs"), units tests ("tests"), memory checks via [valgrind](http://valgrind.org) ("memcheck"), confirmation that all [examples](examples/) are working ("examples"), and that the code is pip-installable on Linux, Mac, and Windows machines ("pip-install") for the Python distributions listed. The "coverage" badge shows the percentage of the code (by line number) that is currently tested by Codecov at every commit. We are committed to maintaining a stable tool for scientists to analyze any planetary system. +Behind the scenes, the VPLanet team maintains code integrity through via various automatic checks at every merge into the main branch. You can see the status of these checks via the "badges" the GitHub logo above. Currently we perform 5 checks: documentation ("docs"), units tests ("tests"), memory checks via [valgrind](http://valgrind.org) ("memcheck"), confirmation that all [examples](examples/) are working ("examples"), and that the code is pip-installable on Linux, Mac, and Windows machines ("pip-install") for the Python distributions listed. The "coverage" badge shows the percentage of the code (by line number) that is currently tested by Codecov at every commit. We are committed to maintaining a stable tool for scientists to analyze any planetary system. ### Community From 6bbc24f032500c02cab35fadc9bd929d87c2f8ee Mon Sep 17 00:00:00 2001 From: RoryBarnes Date: Wed, 1 Nov 2023 13:39:45 -0700 Subject: [PATCH 40/41] Removed Windwos from pip-install.yml. --- .github/workflows/pip-install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pip-install.yml b/.github/workflows/pip-install.yml index fda2171b3..7cb534110 100644 --- a/.github/workflows/pip-install.yml +++ b/.github/workflows/pip-install.yml @@ -10,7 +10,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-latest, macos-latest] python: ['3.7', '3.8', '3.9', '3.10', '3.11'] steps: - uses: actions/checkout@v3 From 161ff39ecfedc916ef01cc71acb8eb569a2858b9 Mon Sep 17 00:00:00 2001 From: Rory Barnes Date: Wed, 1 Nov 2023 13:51:49 -0700 Subject: [PATCH 41/41] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e9f255cdb..fada597bc 100644 --- a/README.md +++ b/README.md @@ -111,11 +111,11 @@ Many of these modules can be combined together to simulate numerous phenomena an The [examples/](examples) directory contains input files and scripts for generating the figures in [Barnes et al. (2020)](https://ui.adsabs.harvard.edu/abs/2020PASP..132b4502B/abstract) and subsequent publications. The "examples" badge shows if all the examples can be built with the most recent version. The [Manual/](Manual) directory contains the pdf of [Barnes et al. (2020)](https://ui.adsabs.harvard.edu/abs/2020PASP..132b4502B/abstract), which describes the physics of the first 11 modules, validates the software against observations and/or past results, and uses figures from the [examples/](examples) directory. -An ecosystem of support software is also publicly available. [VPLot](https://github.com/VirtualPlanetaryLaboratory/vplot) is both a command line tool to quickly plot the evolution of a single integration, and also includes matplotlib functions to generate publication-worthy figures. The [VSPACE](https://github.com/VirtualPlanetaryLaboratory/vspace) script generates input files for a parameter space sweep, which can then be performed on an arbitrary number of cores with [MultiPlanet](https://github.com/VirtualPlanetaryLaboratory/multi-planet). For large parameter sweeps, an enormous amount of data can be generated, which can slow analyses. To overcome this barrier, the [BigPlanet](https://github.com/VirtualPlanetaryLaboratory/bigplanet) code can both compress datasets into HDF5 format, including statistics of an integration, and tools to facilitate plotting. These three scripts can be executed from the command line to seamlessly [perform parameter sweeps](https://virtualplanetarylaboratory.github.io/vplanet/parametersweep.html). These Python scripts are optimized for [anaconda](https://www.anaconda.com/) distributions versions 3.5-3.9. The "wheels" badge indicates if you can download and install the executables with pip for these Python distributions. +An ecosystem of support software is also publicly available. [VPLot](https://github.com/VirtualPlanetaryLaboratory/vplot) is both a command line tool to quickly plot the evolution of a single integration, and also includes matplotlib functions to generate publication-worthy figures. The [VSPACE](https://github.com/VirtualPlanetaryLaboratory/vspace) script generates input files for a parameter space sweep, which can then be performed on an arbitrary number of cores with [MultiPlanet](https://github.com/VirtualPlanetaryLaboratory/multi-planet). For large parameter sweeps, an enormous amount of data can be generated, which can slow analyses. To overcome this barrier, the [BigPlanet](https://github.com/VirtualPlanetaryLaboratory/bigplanet) code can both compress datasets into HDF5 format, including statistics of an integration, and tools to facilitate plotting. These three scripts can be executed from the command line to seamlessly [perform parameter sweeps](https://virtualplanetarylaboratory.github.io/vplanet/parametersweep.html). These Python scripts are optimized for [anaconda](https://www.anaconda.com/) distributions versions 3.7-3.9. The "wheels" badge indicates if you can download and install the executables with pip for these Python distributions on the latest Linux and Mac operating systems. ### Code Integrity -Behind the scenes, the VPLanet team maintains code integrity through via various automatic checks at every merge into the main branch. You can see the status of these checks via the "badges" the GitHub logo above. Currently we perform 5 checks: documentation ("docs"), units tests ("tests"), memory checks via [valgrind](http://valgrind.org) ("memcheck"), confirmation that all [examples](examples/) are working ("examples"), and that the code is pip-installable on Linux, Mac, and Windows machines ("pip-install") for the Python distributions listed. The "coverage" badge shows the percentage of the code (by line number) that is currently tested by Codecov at every commit. We are committed to maintaining a stable tool for scientists to analyze any planetary system. +Behind the scenes, the VPLanet team maintains code integrity through via various automatic checks at every merge into the main branch. You can see the status of these checks via the "badges" the GitHub logo above. Currently we perform 5 checks: documentation ("docs"), units tests ("tests"), memory checks via [valgrind](http://valgrind.org) ("memcheck"), confirmation that all [examples](examples/) are working ("examples"), and that the code is pip-installable on the latest Linux and Mac operating systems ("pip-install") for the Python distributions listed after the GitHub Actions badge. The percentage of the lines of code that are executed by the unit tests is shown with the "codecov" badge, with details available at our Codecov account. We are committed to maintaining a stable tool for scientists to analyze any planetary system. ### Community