Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full circle 1.0.0a2 #106

Merged
merged 33 commits into from
Jul 28, 2024
Merged

Full circle 1.0.0a2 #106

merged 33 commits into from
Jul 28, 2024

Conversation

jmfernandez
Copy link
Member

This alpha release just implements relocatable working directories, which has required an almost full internal transition from string path handling to pathlib.Path . Many internal hidden issues have been fixed along this path.

It also avoids issue common-workflow-language/cwltool#2027 with cwltool --print-tool and python versions newer than python 3.7 .

…NXF_HOME directory, make that directory dependant on the staged working directory itself.
…athlib.Path` instances.

This is needed to try achieving relocatable working directories, needed to relax usage of WfExS from wihin containers
… cannot be installed.

Without the fix, the code misinterprets the workflow type was not recognized, and it tries the next available engine.
With the refactor of path handling along the whole codebase, some hidden issues are now arising. One of them is that marshalling and unmarshalling handling was always overwriting preoviously properly marshalled files, which should be already immutable (like stage-stage.yaml and workflow_config.yaml). Due other issues, stage-state.yaml was corrupted in case an execution fails even before the execution itself.

With execution-state.yaml, the code was "forgetting" previous executions metadata on each try.

Also, uncovered and fixed a mismatch in engine version. When a version is requested, but the selected one is different, it was partially registered in one instance variable but not in another one, so next run was doomed to unexpectedly redo the same work.
…in wfexs_backend.utils.marhsalling_handling.unmarshall_namedtuple .
* Workflow engines and container factories were reading the raw configuration file in order to locate declaration of custom paths for the programs they need for their work. Several method declarations have been changed, in order to minimize what it is passed down to them, so their implementations are not tied to the structure of the general WfExS configuration files.

* CWL workflow engine now is able to install cwltool versions which are older than the requested one, in case that version is incompatible with the python interpreter being used.

* CWL workflow engine has gained the capability to use custom python interpreters (or intepreters in different paths). This is needed to disengage cwltool installation from WfExS one a bit more.

* CWL workflow engine now forces pydot version lower than 3.0.0, due issue common-workflow-language/cwltool#2027
@jmfernandez jmfernandez merged commit 3368192 into main Jul 28, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant