PhysiCell
PhysiCell copied to clipboard
Simplification of the definition of projects to run in GitHub actions
I wrote a simpler version of the GitHub actions, using what's called a matrix: https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs
We define the list of projects to run like this:
projects: [
{project: "virus-macrophage-sample", name: "Virus Macrophage", binary: "virus-sample"},
{project: "physiboss-cell-lines-sample", name: "PhysiBoSS Cell Lines", binary: "PhysiBoSS_Cell_Lines"},
{project: "physimess-sample", name: "PhysiMeSS Sample", binary: "project"},
{project: "physimess-sample", name: "PhysiMeSS Sample", binary: "project", config: "config/Fibre_Initialisation/mymodel_initialisation.xml"},
{project: "physimess-sample", name: "PhysiMeSS Sample", binary: "project", config: "config/Cell_Fibre_Mechanics/mymodel_rotating.xml"},
{project: "template", name: "PhysiCell Template", binary: "project"}
]
Each element needs a project, which is the name used when running make <project>
, a name, the filename of the binary file, and the optional path of a config file.
This needs to be set up for all the different runners: macos-12 (x86_64), macos-14 (arm64), linux, windows. But the syntax is exactly the same.