Open ssun30 opened 1 year ago
Without automated installation there is no easy way to adding testing into the CI workflow.
I think introducing a test suite that can be run through GitHub Actions should be the top priority for this toolbox. I'm not sure why automating installation would be necessary for this -- one of the best features of using calllib
is that there is nothing to compile on the Matlab side -- all you need is a copy of cantera_shared.so
and the header files.
If you can get started on the test suite itself, I'd be happy to help with the GitHub Actions integration.
@ssun30 ... thanks for posting. Is this work in progress or a feature request?
@ssun30 ... thanks for posting. Is this work in progress or a feature request?
This is a work in progress. Sorry I couldn't find where to change the label of this issue.
Fantastic… changed the label for you.
We think @ssun30's new test suite has found some bugs (hurrah - it's working). Should the bug fixes be a separate pull request? How is it best structured and broken up? (We'd probably like to avoid reviewing another gazillion-line pull request.)
We think @ssun30's new test suite has found some bugs (hurrah - it's working). Should the bug fixes be a separate pull request? How is it best structured and broken up? (We'd probably like to avoid reviewing another gazillion-line pull request.)
🎉 … my 2 cents would be to create PR’s that collect those bugs, using ‘draft’ mode and the ‘ready for review’ check box to mark progress. That way, we should be able to review a small number of PR’s without getting to an excessive line count.
As a starting point, I'd say it would be nice to begin with a PR that introduces some portion of the test suite and a way of running it (assuming that's in place) without getting into too many bug fixes in the first PR. If there are tests that currently fail, you can mark them as such so they don't cause the whole test suite or CI to indicate failure.
From there, you can create new PRs that both introduce new test code and bug fixes needed for those tests to succeed. This doesn't need to be "one bug per PR", but it would be good to try to limit the scope of any individual PR, be that in terms of number of lines of code to review, type of bug being fixed, or number of files/functions impacted.
As a starting point, I'd say it would be nice to begin with a PR that introduces some portion of the test suite and a way of running it (assuming that's in place) without getting into too many bug fixes in the first PR. […]
… on second thought that would indeed be nice. I assume you’re using Mathworks’ testing frameworks … in which case there likely isn’t much required to make this run? Initial tests can be brutally simple. As long as the approach is compatible with the GH Matlab action or similar - which probably needs to be tested before investing too much work - simple instructions may suffice for starters.
@ssun30 ... fwiw, I just refactored the Func1
functor interface (see Cantera/cantera#1513), which should make things a lot simpler going forward. Once merged, this will make all Func1
specializations accessible from clib
, which should help with a resolution of Cantera/cantera#567 in the new interface.
@ssun30 … thank you for all your work on this thus far. Given that we released 3.0 with the experimental version of this MATLAB toolbox, what are the remaining steps for the final release?
@ssun30 … thank you for all your work on this thus far. Given that we released 3.0 with the experimental version of this MATLAB toolbox, what are the remaining steps for the final release?
Hi Ingmar, sorry I've been busy working on my dissertation proposal and class projects towards the end of last year. Now I have time to work on the toolbox again. I think the remaining tasks for the final relase include:
@ssun30 … thank you for all your work on this thus far. Given that we released 3.0 with the experimental version of this MATLAB toolbox, what are the remaining steps for the final release?
Hi Ingmar, sorry I've been busy working on my dissertation proposal and class projects towards the end of last year. Now I have time to work on the toolbox again. I think the remaining tasks for the final relase include:
- Complete the test suite and add these to the CI (In Progress)
- Clean up the documentations.
- Incorporate the installation of the toolbox into the SCons scripts.
- Build the msi package for Windows.
Thank you, @ssun30! That sounds great - it appears to be reasonably close to the finishing line. Please let us know in case you should need any assistance with the finishing touches. I'm definitely looking forward to a release in a 'stable' version.
FWIW: regarding documentation, the current builds for 3.1 alpha use sphinx>=7.2,<8
(for whatever is built using GH Actions)
Abstract
Implement the currently missing features in the experimental Matlab interface.
Motivation
Describe the need for the work being done:
readme.md
for the toolbox is not intuitive for users to follow.test_examples.m
script which does not cover all methods in all classes.Description
References
Links to a development branch in your fork of the Cantera repository, Pull Requests, GitHub Issues, Users' Group topics, or other relevant material.