pyiron / pyiron_ontology

Combining pyiron and owlready2 for ontologically guided workflow design
BSD 3-Clause "New" or "Revised" License
4 stars 0 forks source link

[patch] Target new CI release #73

Closed liamhuber closed 3 months ago

liamhuber commented 3 months ago

This major-bumps the CI, so I might need to come in and fix things...

github-actions[bot] commented 3 months ago

Binder :point_left: Launch a binder notebook on branch _pyiron/pyiron_ontology/updateci

codacy-production[bot] commented 3 months ago

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
:white_check_mark: +0.00% (target: -1.00%) :white_check_mark:
Coverage variation details | | Coverable lines | Covered lines | Coverage | | ------------- | ------------- | ------------- | ------------- | | Common ancestor commit (2ee31aa344b085849e3ce9c8b1684295cb9f4fd0) | 452 | 411 | 90.93% | | | Head commit (cb30f897f66ca1dde163277f09347177a9c2032a) | 452 (+0) | 411 (+0) | 90.93% (**+0.00%**) | **Coverage variation** is the difference between the coverage for the head and common ancestor commits of the pull request branch: ` - `
Diff coverage details | | Coverable lines | Covered lines | Diff coverage | | ------------- | ------------- | ------------- | ------------- | | Pull request (#73) | 0 | 0 | **∅ (not applicable)** | **Diff coverage** is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: `/ * 100%`

See your quality gate settings    Change summary preferences

Codacy stopped sending the deprecated coverage status on June 5th, 2024. Learn more

liamhuber commented 3 months ago

Example notebook failed trying to run a murn:

---------------------------------------------------------------------------
Exception encountered at "In [27]":
---------------------------------------------------------------------------
CalledProcessError                        Traceback (most recent call last)
File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/job/runfunction.py:644, in execute_job_with_external_executable(job)
    643 try:
--> 644     out = subprocess.run(
    645         executable,
    646         cwd=job.project_hdf5.working_directory,
    647         shell=shell,
    648         stdout=subprocess.PIPE,
    649         stderr=subprocess.STDOUT,
    650         universal_newlines=True,
    651         check=True,
    652         env=os.environ.copy(),
    653     ).stdout
    654 except (subprocess.CalledProcessError, FileNotFoundError) as e:

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/subprocess.py:571, in run(input, capture_output, timeout, check, *popenargs, **kwargs)
    570     if check and retcode:
--> 571         raise CalledProcessError(retcode, process.args,
    572                                  output=stdout, stderr=stderr)
    573 return CompletedProcess(process.args, retcode, stdout, stderr)

CalledProcessError: Command '/home/runner/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/share/pyiron/lammps/bin/run_lammps_2020.03.03.sh' returned non-zero exit status 66.

During handling of the above exception, another exception occurred:

RuntimeError                              Traceback (most recent call last)
Cell In[27], line 16
     15 try:
---> 16     murn.run()
     17 except:

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/utils/deprecate.py:171, in Deprecator.__deprecate_argument.<locals>.decorated(*args, **kwargs)
    162         warnings.warn(
    163             message_format.format(
    164                 "{}.{}({}={})".format(
   (...)
    169             stacklevel=2,
    170         )
--> 171 return function(*args, **kwargs)

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/job/generic.py:777, in GenericJob.run(self, delete_existing_job, repair, debug, run_mode, run_again)
    776 elif status == "initialized":
--> 777     self._run_if_new(debug=debug)
    778 elif status == "created":

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/master/parallel.py:366, in ParallelMaster._run_if_new(self, debug)
    365 self.submission_status.submitted_jobs = 0
--> 366 super()._run_if_new(debug=debug)

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/job/generic.py:1298, in GenericJob._run_if_new(self, debug)
   1291 """
   1292 Internal helper function the run if new function is called when the job status is 'initialized'. It prepares
   1293 the hdf5 file and the corresponding directory structure.
   (...)
   1296     debug (bool): Debug Mode
   1297 """
-> 1298 run_job_with_status_initialized(job=self, debug=debug)

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/job/runfunction.py:92, in run_job_with_status_initialized(job, debug)
     91 job.save()
---> 92 job.run()

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/utils/deprecate.py:171, in Deprecator.__deprecate_argument.<locals>.decorated(*args, **kwargs)
    162         warnings.warn(
    163             message_format.format(
    164                 "{}.{}({}={})".format(
   (...)
    169             stacklevel=2,
    170         )
--> 171 return function(*args, **kwargs)

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/job/generic.py:779, in GenericJob.run(self, delete_existing_job, repair, debug, run_mode, run_again)
    778 elif status == "created":
--> 779     self._run_if_created()
    780 elif status == "submitted":

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/job/generic.py:1309, in GenericJob._run_if_created(self)
   1301 """
   1302 Internal helper function the run if created function is called when the job status is 'created'. It executes
   1303 the simulation, either in modal mode, meaning waiting for the simulation to finish, manually, or submits the
   (...)
   1307     int: Queue ID - if the job was send to the queue
   1308 """
-> 1309 return run_job_with_status_created(job=self)

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/job/runfunction.py:115, in run_job_with_status_created(job)
    114 elif job.server.run_mode.modal:
--> 115     job.run_static()
    116 elif job.server.run_mode.srun:

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/master/parallel.py:558, in ParallelMaster.run_static(self)
    555 elif (self.server.run_mode.modal and job.server.run_mode.modal) or (
    556     self.server.run_mode.interactive and job.server.run_mode.interactive
    557 ):
--> 558     self._run_if_master_modal_child_modal(job)
    559 elif self.server.run_mode.modal and job.server.run_mode.non_modal:

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/master/parallel.py:472, in ParallelMaster._run_if_master_modal_child_modal(self, job)
    471 self.submission_status.submit_next()
--> 472 job.run()
    473 self._logger.info(
    474     "{}: finished job {}".format(self.job_name, job.job_name)
    475 )

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/utils/deprecate.py:171, in Deprecator.__deprecate_argument.<locals>.decorated(*args, **kwargs)
    162         warnings.warn(
    163             message_format.format(
    164                 "{}.{}({}={})".format(
   (...)
    169             stacklevel=2,
    170         )
--> 171 return function(*args, **kwargs)

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/job/generic.py:777, in GenericJob.run(self, delete_existing_job, repair, debug, run_mode, run_again)
    776 elif status == "initialized":
--> 777     self._run_if_new(debug=debug)
    778 elif status == "created":

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/job/generic.py:1298, in GenericJob._run_if_new(self, debug)

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/job/runfunction.py:655, in execute_job_with_external_executable(job)
    654     except (subprocess.CalledProcessError, FileNotFoundError) as e:
--> 655         out, job_crashed = handle_failed_job(job=job, error=e)
    656 else:

File ~/work/pyiron_ontology/pyiron_ontology/cached-miniforge/my-env/lib/python3.12/site-packages/pyiron_base/jobs/job/runfunction.py:734, in handle_failed_job(job, error)
    733         state.database.close_connection()
--> 734     raise RuntimeError("Job aborted")
    735 else:

RuntimeError: Job aborted

During handling of the above exception, another exception occurred:

RuntimeError                              Traceback (most recent call last)
Cell In[27], line 22
     18 with open(
     19     f"./{pr.name}/{murn.name}_hdf5/{murn.name}_0_9_hdf5/{murn.name}_0_9/error.msg"
     20 ) as f:
     21     msg = f.readlines()
---> 22 raise RuntimeError(msg)

RuntimeError: ['--------------------------------------------------------------------------\n', 'prterun was unable to find the specified executable file, and therefore did\n', 'not launch the job.  This error was first reported for process rank\n', '0; it may have occurred for other processes as well.\n', '\n', 'NOTE: A common cause for this error is misspelling a prterun command\n', '   line parameter option (remember that prterun interprets the first\n', '   unrecognized command line token as the executable).\n', '\n', 'Node:       fv-az883-33 Executable: lmp_mpi\n', '--------------------------------------------------------------------------\n']
liamhuber commented 3 months ago

Most of the versions line up, but here I have

lammps 2024.06.27 cpu_py312_h5b1ab17_nompi_4 conda-forge

And

pyiron-data 0.0.29 hd8ed1ab_0 conda-forge

My suspicion is that there is a mismatch here between what exe's lammps is providing and which ones the pyiron-data bash files are looking for.