For now, this code will be defined as a callable workflow (on: workflow_call) instead of an action and live in the pymfem repo.
The reasons being
The pymfem build process may be changing more frequently than mfem at the moment, so having this workflow live there would allow it to change more rapidly
There are a lot of steps involved and by defining this as an action, the workflow that invokes it will hide all the details under one step. This makes it more difficult to interpret.
A "callable workflow" allows specification of input types while actions do not. This will be triggered from other workflows, other repos (POST payload), and manually; I think this will help avoid bugs (e.g. 'false' being interpreted as True when a string)
In a workflow it is easier to define environmental variables (can be done at yaml level rather than bash via >> $GITHUB_ENV)
Sometimes we want to run a whole matrix of jobs, sometimes we want to just run one case. Callable
Using a "callable workflow" instead of an action.
Edit
Copying my explanation for why we want to use a "callable workflow" instead of an action (https://github.com/mfem/github-actions/pull/13#issuecomment-2099501639)
For now, this code will be defined as a callable workflow (
on: workflow_call
) instead of anaction
and live in thepymfem
repo.The reasons being
>> $GITHUB_ENV
)Sometimes we want to run a whole matrix of jobs, sometimes we want to just run one case. Callable