From 86d34fcfe4ea8839bc6e3b2c24625401744c1435 Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Sun, 15 Sep 2024 01:43:54 -0600 Subject: [PATCH 01/14] Update versions of all actions --- .github/workflows/setup-and-run-tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/setup-and-run-tests.yml b/.github/workflows/setup-and-run-tests.yml index 717e800e..41c78ce4 100644 --- a/.github/workflows/setup-and-run-tests.yml +++ b/.github/workflows/setup-and-run-tests.yml @@ -12,17 +12,17 @@ jobs: ] steps: - name: Check out repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up MATLAB - uses: matlab-actions/setup-matlab@v1 + uses: matlab-actions/setup-matlab@v2 with: release: ${{ matrix.release }} - name: Add paths - uses: matlab-actions/run-command@v1 + uses: matlab-actions/run-command@v2 with: command: addpath(genpath("src")) - name: Run MATLAB Tests - uses: matlab-actions/run-tests@v1.5.2 + uses: matlab-actions/run-tests@v2 with: select-by-folder: tests test-results-junit: test-results/results.xml From d6e0e011f650a93cdcfad50440ad3e2080eb18c9 Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Sun, 15 Sep 2024 01:44:33 -0600 Subject: [PATCH 02/14] Force job failure if any tests fail --- .github/workflows/setup-and-run-tests.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/setup-and-run-tests.yml b/.github/workflows/setup-and-run-tests.yml index 41c78ce4..09e4e66e 100644 --- a/.github/workflows/setup-and-run-tests.yml +++ b/.github/workflows/setup-and-run-tests.yml @@ -27,4 +27,7 @@ jobs: select-by-folder: tests test-results-junit: test-results/results.xml code-coverage-cobertura: code-coverage/coverage.xml - source-folder: src \ No newline at end of file + source-folder: src + - name: Verify complete success + if: ${{ failure() }} + run: exit 1 \ No newline at end of file From 19612756b0a9dda169fddcb6c9f214fa46c1f0c6 Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Sun, 15 Sep 2024 01:48:02 -0600 Subject: [PATCH 03/14] Include all modern MATLAB versions --- .github/workflows/setup-and-run-tests.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/setup-and-run-tests.yml b/.github/workflows/setup-and-run-tests.yml index 09e4e66e..09637669 100644 --- a/.github/workflows/setup-and-run-tests.yml +++ b/.github/workflows/setup-and-run-tests.yml @@ -7,9 +7,7 @@ jobs: continue-on-error: true strategy: matrix: - release: [R2023a - #, R2023b TODO: There is currently a bug affecting one test on R2023b - ] + release: [R2023a, R2023b, R2024a, latest] steps: - name: Check out repository uses: actions/checkout@v4 From 414edcd5bcce149642446f9d4ab8fda6a4302a80 Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Sun, 15 Sep 2024 02:06:26 -0600 Subject: [PATCH 04/14] Include necessary MATLAB products --- .github/workflows/setup-and-run-tests.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/setup-and-run-tests.yml b/.github/workflows/setup-and-run-tests.yml index 09637669..df39e512 100644 --- a/.github/workflows/setup-and-run-tests.yml +++ b/.github/workflows/setup-and-run-tests.yml @@ -14,6 +14,11 @@ jobs: - name: Set up MATLAB uses: matlab-actions/setup-matlab@v2 with: + products: > + Global_Optimization_Toolbox + Image_Processing_Toolbox + SimBiology + Symbolic_Math_Toolbox release: ${{ matrix.release }} - name: Add paths uses: matlab-actions/run-command@v2 From dd4c05ae451c9e1d8b7d68a94829277b4a6c0c71 Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Sun, 15 Sep 2024 02:23:10 -0600 Subject: [PATCH 05/14] Attempt other means to force workflow failure on job failure --- .github/workflows/setup-and-run-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/setup-and-run-tests.yml b/.github/workflows/setup-and-run-tests.yml index df39e512..e3f9be21 100644 --- a/.github/workflows/setup-and-run-tests.yml +++ b/.github/workflows/setup-and-run-tests.yml @@ -33,4 +33,4 @@ jobs: source-folder: src - name: Verify complete success if: ${{ failure() }} - run: exit 1 \ No newline at end of file + run: echo "::error::Setup and/or tests failed" \ No newline at end of file From 08e59eb6230c2be8e1d602efce30ac4785e3e9d8 Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Sun, 15 Sep 2024 02:39:47 -0600 Subject: [PATCH 06/14] Attempt using job dependency to force workflow failure on job failure --- .github/workflows/setup-and-run-tests.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/setup-and-run-tests.yml b/.github/workflows/setup-and-run-tests.yml index e3f9be21..addeae11 100644 --- a/.github/workflows/setup-and-run-tests.yml +++ b/.github/workflows/setup-and-run-tests.yml @@ -33,4 +33,7 @@ jobs: source-folder: src - name: Verify complete success if: ${{ failure() }} - run: echo "::error::Setup and/or tests failed" \ No newline at end of file + run: echo "::error::Setup and/or tests failed" + my-job-completed: + name: Verify Complete Success + needs: my-job \ No newline at end of file From affe6cbf8e536c1fd6a159b7876bc38d6dbf4a31 Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Sun, 15 Sep 2024 03:21:30 -0600 Subject: [PATCH 07/14] Revert "Attempt using job dependency to force workflow failure on job failure" This reverts commit 08e59eb6230c2be8e1d602efce30ac4785e3e9d8. --- .github/workflows/setup-and-run-tests.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/setup-and-run-tests.yml b/.github/workflows/setup-and-run-tests.yml index addeae11..e3f9be21 100644 --- a/.github/workflows/setup-and-run-tests.yml +++ b/.github/workflows/setup-and-run-tests.yml @@ -33,7 +33,4 @@ jobs: source-folder: src - name: Verify complete success if: ${{ failure() }} - run: echo "::error::Setup and/or tests failed" - my-job-completed: - name: Verify Complete Success - needs: my-job \ No newline at end of file + run: echo "::error::Setup and/or tests failed" \ No newline at end of file From e4191e9bea5399d1ddeb51f822900e5963fa92d4 Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Tue, 16 Jun 2026 16:54:42 -0600 Subject: [PATCH 08/14] Update to use latest versions of MATLAB actions --- .github/workflows/setup-and-run-tests.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/setup-and-run-tests.yml b/.github/workflows/setup-and-run-tests.yml index aa6c4f9d..a385b675 100644 --- a/.github/workflows/setup-and-run-tests.yml +++ b/.github/workflows/setup-and-run-tests.yml @@ -10,9 +10,9 @@ jobs: release: [R2023a, R2023b, R2024a, latest] steps: - name: Check out repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up MATLAB - uses: matlab-actions/setup-matlab@v2 + uses: matlab-actions/setup-matlab@v3 with: products: > Global_Optimization_Toolbox @@ -21,15 +21,15 @@ jobs: Symbolic_Math_Toolbox release: ${{ matrix.release }} - name: Add paths - uses: matlab-actions/run-command@v2 + uses: matlab-actions/run-command@v3 with: command: addpath(genpath("src")) - name: Install (setup) - uses: matlab-actions/run-command@v1 + uses: matlab-actions/run-command@v3 with: command: install(0,0,1,1) - name: Run MATLAB Tests - uses: matlab-actions/run-tests@v2 + uses: matlab-actions/run-tests@v3 with: select-by-folder: tests select-by-name: '^(?!testGui$).*' @@ -38,4 +38,4 @@ jobs: source-folder: src - name: Verify complete success if: ${{ failure() }} - run: echo "::error::Setup and/or tests failed" \ No newline at end of file + run: echo "::error::Setup and/or tests failed" From 9312845e19c1789835ed8cdb22aebcf24f21f0c1 Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Tue, 16 Jun 2026 16:59:09 -0600 Subject: [PATCH 09/14] Stop using Image Processing Toolbox This is not officially required by SSIT, and we expect that no functionality will require users to have it installed. --- .github/workflows/setup-and-run-tests.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/setup-and-run-tests.yml b/.github/workflows/setup-and-run-tests.yml index a385b675..f0a4b060 100644 --- a/.github/workflows/setup-and-run-tests.yml +++ b/.github/workflows/setup-and-run-tests.yml @@ -16,7 +16,6 @@ jobs: with: products: > Global_Optimization_Toolbox - Image_Processing_Toolbox SimBiology Symbolic_Math_Toolbox release: ${{ matrix.release }} From 07e89ed791d0b20c57d5eaa3360254d822a16983 Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Tue, 16 Jun 2026 17:00:03 -0600 Subject: [PATCH 10/14] Remove action to add paths This should now be handled by the `install` command. --- .github/workflows/setup-and-run-tests.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/setup-and-run-tests.yml b/.github/workflows/setup-and-run-tests.yml index f0a4b060..44098bf6 100644 --- a/.github/workflows/setup-and-run-tests.yml +++ b/.github/workflows/setup-and-run-tests.yml @@ -19,10 +19,6 @@ jobs: SimBiology Symbolic_Math_Toolbox release: ${{ matrix.release }} - - name: Add paths - uses: matlab-actions/run-command@v3 - with: - command: addpath(genpath("src")) - name: Install (setup) uses: matlab-actions/run-command@v3 with: From 5907bb782a5c311e1e02d9140066f5e7a9fcd7ad Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Tue, 16 Jun 2026 17:02:24 -0600 Subject: [PATCH 11/14] Include Windows in execution OSes --- .github/workflows/setup-and-run-tests.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/setup-and-run-tests.yml b/.github/workflows/setup-and-run-tests.yml index 44098bf6..080fac4c 100644 --- a/.github/workflows/setup-and-run-tests.yml +++ b/.github/workflows/setup-and-run-tests.yml @@ -3,11 +3,12 @@ on: [push] jobs: my-job: name: Run MATLAB Tests and Generate Artifacts - runs-on: ubuntu-latest continue-on-error: true strategy: matrix: - release: [R2023a, R2023b, R2024a, latest] + os: [ubuntu-latest, windows-latest] + release: [R2023a, R2023b, R2024a, latest] + runs-on: ${{ matrix.os }} steps: - name: Check out repository uses: actions/checkout@v6 From 018909e81f703ff49693f5c9231f511f90afe9cb Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Tue, 16 Jun 2026 17:18:01 -0600 Subject: [PATCH 12/14] Include Parallel Computing Toolbox --- .github/workflows/setup-and-run-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/setup-and-run-tests.yml b/.github/workflows/setup-and-run-tests.yml index 080fac4c..89420a98 100644 --- a/.github/workflows/setup-and-run-tests.yml +++ b/.github/workflows/setup-and-run-tests.yml @@ -17,6 +17,7 @@ jobs: with: products: > Global_Optimization_Toolbox + Parallel_Computing_Toolbox SimBiology Symbolic_Math_Toolbox release: ${{ matrix.release }} From 799681f8b9d295d2cf51403c0c124bbf8691d5ea Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Tue, 16 Jun 2026 17:38:36 -0600 Subject: [PATCH 13/14] Remove R2023a from tested versions To avoid requiring the Image Processing Toolbox, we now use the `paddata` function in core MATLAB, but it was only introduced in R2023b, so that version is the earliest we can now support. --- .github/workflows/setup-and-run-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/setup-and-run-tests.yml b/.github/workflows/setup-and-run-tests.yml index 89420a98..708e4e1f 100644 --- a/.github/workflows/setup-and-run-tests.yml +++ b/.github/workflows/setup-and-run-tests.yml @@ -7,7 +7,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest] - release: [R2023a, R2023b, R2024a, latest] + release: [R2023b, R2024a, latest] runs-on: ${{ matrix.os }} steps: - name: Check out repository From d6cab9e699ddd69bd51450fcf6e9e39bad2d598c Mon Sep 17 00:00:00 2001 From: Dmitri Svetlov <123213937+dmitrisvetlov@users.noreply.github.com> Date: Tue, 16 Jun 2026 17:52:55 -0600 Subject: [PATCH 14/14] Update version and toolbox requirements in README --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 28e0540b..605b0ff8 100644 --- a/README.md +++ b/README.md @@ -48,11 +48,10 @@ The SSIT allows users to specify and solve the **Chemical Master Equation** (CME # Dependencies For all basic functionalities: - MATLAB R2023b or later -- Symbolic Computing Toolbox -- Image Processing Toolbox -- Global Optimization Toolbox (for model fitting only) -- Parallel Computing Toolbox (optional). -- SimBiology Toolbox (for loading/saving SBML models only) + - Symbolic Computing Toolbox + - Global Optimization Toolbox (for model fitting only) + - Parallel Computing Toolbox (optional). + - SimBiology Toolbox (for loading/saving SBML models only) # Installation and Testing Clone this package to a local folder on your computer. Then, navigate to this new folder in matlab and run the installation script from the MATLAB command window.