pyiron / pyiron_nodes

Prototype node library for pyiron_workflows
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

CI and module naming #38

Closed liamhuber closed 3 months ago

liamhuber commented 4 months ago

Get the CI running, and sync the python module name with the repo name.

review-notebook-app[bot] commented 4 months ago

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

liamhuber commented 4 months ago

actions/checkout fails with Error: Input required and not supplied: token. Since the CI is being triggered from inside the repo, I expected the secrets to be inherited and checkout to have no trouble.

liamhuber commented 4 months ago

Ok, there's nothing wrong in principle with what we're doing, it's just that the commit-updated-env step of pyiron/actions/.github/workflows/push-pull.yml@actions-3.2.1 depends on the organization secret secrets.DEPENDABOT_WORKFLOW_TOKEN, and on our free plan we are not allowed to access secrets from inside private repositories.

liamhuber commented 3 months ago

Env conflict:

Could not solve for environment specs
  The following packages are incompatible
  ├─ matgl 1.1.2**  is installable and it requires
  │  ├─ dgl >=2.0.0  with the potential options
  │  │  ├─ dgl [2.0.0|2.1.0] would require
  │  │  │  └─ python_abi 3.10.* *_cp310, which can be installed;
  │  │  ├─ dgl [2.0.0|2.1.0] would require
  │  │  │  └─ python_abi 3.11.* *_cp311, which can be installed;
  │  │  ├─ dgl [2.0.0|2.1.0] would require
  │  │  │  └─ python_abi 3.9.* *_cp39, which can be installed;
  │  │  ├─ dgl [2.0.0|2.1.0] would require
  │  │  │  └─ pytorch * *cuda* with the potential options
  │  │  │     ├─ pytorch [1.11.0|1.12.0|...|2.3.1] would require
  │  │  │     │  └─ python_abi 3.10.* *_cp310, which can be installed;
  │  │  │     ├─ pytorch [1.10.0|1.10.1|...|2.3.1] would require
  │  │  │     │  └─ python_abi 3.8.* *_cp38, which can be installed;
  │  │  │     ├─ pytorch [1.10.0|1.10.1|...|2.3.1] would require
  │  │  │     │  └─ python_abi 3.9.* *_cp39, which can be installed;
  │  │  │     ├─ pytorch [1.11.0|1.12.0|...|2.3.1] would require
  │     ├─ pytorch [1.11.0|1.12.0|...|2.3.1], which cannot be installed (as previously explained);
  │     ├─ pytorch [2.0.1|2.3.0], which cannot be installed (as previously explained);
  │     ├─ pytorch [0.4.0|0.4.1|...|2.2.0] conflicts with any installable versions previously reported;
  │     ├─ pytorch [1.10.0|1.10.1|...|1.9.1], which can be installed (as previously explained);
  │     ├─ pytorch [1.6.0|1.7.1|1.8.0|1.9.0|1.9.1], which can be installed (as previously explained);
  │     ├─ pytorch [0.2.0|0.3.0], which cannot be installed (as previously explained);
  │     ├─ pytorch [0.2.0|0.3.0|0.3.1], which cannot be installed (as previously explained);
  │     ├─ pytorch [0.3.1|0.4.0] would require
  │     │  └─ cudatoolkit 8.0.* , which does not exist (perhaps a missing channel);
  │     ├─ pytorch [1.0.1|1.1.0|...|1.4.0] conflicts with any installable versions previously reported;
  │     └─ pytorch 1.0.1, which cannot be installed (as previously explained);
  ├─ python 3.12.*,>=3.10,<3.13  is not installable because there are no viable options
  │  ├─ python [3.12.0|3.12.1|3.12.2|3.12.3|3.12.4] would require
  │  │  └─ python_abi 3.12.* *_cp312, which conflicts with any installable versions previously reported;
  │  ├─ python 3.12.0rc3 would require
  │  │  └─ _python_rc, which does not exist (perhaps a missing channel);
  │  └─ python [3.12.0|3.12.1|3.12.2|3.12.3|3.12.4] conflicts with any installable versions previously reported;
  └─ scipy 1.14.0**  is installable with the potential options
     ├─ scipy 1.14.0 would require
     │  └─ python_abi 3.10.* *_cp310, which can be installed;
     ├─ scipy 1.14.0 would require
     │  └─ python_abi 3.11.* *_cp311, which can be installed;
     └─ scipy 1.14.0 would require
        └─ python_abi 3.12.* *_cp312, which conflicts with any installable versions previously reported.
liamhuber commented 3 months ago

My understanding of this report is that py3.12 will not work, because the matgl dependency tree is not ready for it. It also looks like scipy 1.14.0 is no longer running on py3.9, but let's resolve the 3.12 issue first and see if that persists.

liamhuber commented 3 months ago

Windows test failure:

Could not solve for environment specs
  The following packages are incompatible
  \u251c\u2500 lammps 2024.02.07**  does not exist (perhaps a typo or a missing channel);
  \u2514\u2500 matgl 1.1.2**  is not installable because it requires
     \u2514\u2500 dgl >=2.0.0 , which does not exist (perhaps a missing channel).

need to go look whether these packages exist for this platform

liamhuber commented 3 months ago

Notebooks test failure:

Input Notebook:  notebooks/examples.ipynb
Output Notebook: notebooks/examples-out.ipynb

Executing:   0%|          | 0/53 [00:00<?, ?cell/s]Executing notebook with kernel: python3

Executing:   2%|▏         | 1/53 [00:00<00:48,  1.06cell/s]
Executing:  15%|█▌        | 8/53 [00:01<00:05,  8.83cell/s]
Executing:  15%|█▌        | 8/53 [00:01<00:07,  6.30cell/s]
Traceback (most recent call last):
  File "/home/runner/work/pyiron_nodes/pyiron_nodes/cached-miniforge/my-env/bin/papermill", line 10, in <module>
    sys.exit(papermill())
             ^^^^^^^^^^^
  File "/home/runner/work/pyiron_nodes/pyiron_nodes/cached-miniforge/my-env/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/pyiron_nodes/pyiron_nodes/cached-miniforge/my-env/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/runner/work/pyiron_nodes/pyiron_nodes/cached-miniforge/my-env/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/pyiron_nodes/pyiron_nodes/cached-miniforge/my-env/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/pyiron_nodes/pyiron_nodes/cached-miniforge/my-env/lib/python3.11/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/pyiron_nodes/pyiron_nodes/cached-miniforge/my-env/lib/python3.11/site-packages/papermill/cli.py", line 235, in papermill
    execute_notebook(
  File "/home/runner/work/pyiron_nodes/pyiron_nodes/cached-miniforge/my-env/lib/python3.11/site-packages/papermill/execute.py", line 131, in execute_notebook
    raise_for_execution_errors(nb, output_path)
  File "/home/runner/work/pyiron_nodes/pyiron_nodes/cached-miniforge/my-env/lib/python3.11/site-packages/papermill/execute.py", line 251, in raise_for_execution_errors
    raise error
papermill.exceptions.PapermillExecutionError: 
---------------------------------------------------------------------------
Exception encountered at "In [4]":
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[4], line 1
----> 1 from pyiron_workflow import Workflow
      3 # Register the necessary node packages                                                                        
      4 Workflow.register("pyiron_nodes.math", "math")

ModuleNotFoundError: No module named 'pyiron_workflow'

Probably I missed the dependency in the env file is all

liamhuber commented 3 months ago

Tests-and-Coverage failure:

Error: could not find repository.  - (ReportRules.scala:59)
2024-08-06 17:25:24.833Z error [CodacyCoverageReporter] No coverage data was sent  - (CodacyCoverageReporter.scala:28)

This is just exactly what Sam brought up and patched over in https://github.com/pyiron/pyiron_module_template/pull/46; I'll log on and add the repo.

liamhuber commented 3 months ago

Probably I missed the dependency in the env file is all

Yup

liamhuber commented 3 months ago

I'll log on and add the repo.

Yeah, was already registered with coveralls, but I added it to codacy tracking

liamhuber commented 3 months ago

need to go look whether these packages exist for this platform

Indeed, conda forge only has Lammps for unix systems. We can worry about a no-arch setup in the future, if and when we want to release this package on conda. In the meantime, I will just exclude testing on windows.

liamhuber commented 3 months ago

Adding workflow gives some new dependency conflicts

  Could not solve for environment specs
  The following packages are incompatible
  ├─ matplotlib 3.9.1**  is installable with the potential options
  │  ├─ matplotlib 3.9.1 would require
  │  │  └─ matplotlib-base >=3.9.1,<3.9.2.0a0  with the potential options
  │  │     ├─ matplotlib-base [3.8.4|3.9.1] would require
  │  │     │  └─ python_abi 3.10.* *_cp310, which can be installed;
  │  ├─ matplotlib 3.9.1 would require
  │  │  └─ pypy3.9 >=7.3.15 , which can be installed;
  │  └─ matplotlib 3.9.1 would require
  │     └─ python_abi 3.9.* *_cp39, which can be installed;
  ├─ pyiron_workflow 0.9.4**  is installable and it requires
  │  └─ matplotlib-base >=3.8.4,<3.9.0  with the potential options
  │     ├─ matplotlib-base [3.8.4|3.9.1], which can be installed (as previously explained);
  │     ├─ matplotlib-base [3.8.4|3.9.1], which can be installed (as previously explained);
  │     ├─ matplotlib-base [3.8.4|3.9.1], which can be installed (as previously explained);
  │     ├─ matplotlib-base [3.8.4|3.9.1], which can be installed (as previously explained);
  │     └─ matplotlib-base 3.8.4 conflicts with any installable versions previously reported;
  └─ python 3.11.*,>=3.10,<3.12  is not installable because there are no viable options
     ├─ python [3.11.0|3.11.1|...|3.11.9] would require
     │  └─ python_abi 3.11.* *_cp311, which conflicts with any installable versions previously reported;
     └─ python [3.11.0|3.11.2|...|3.11.9] conflicts with any installable versions previously reported.
liamhuber commented 3 months ago

Ok, this is actually just bad conda maintenance on my part -- pyiron_workflow has no direct dependency on matplotlib, but it is still leftover in the conda recipe. I'll go remove that constraint on the feedstock. Might need to wait for the resulting release to get from the feedstock through to being downloadable here, but no big trouble.

codacy-production[bot] commented 3 months ago

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
Report missing for f5145d09ee98c451455baebec2037eb96a397fe1[^1] :white_check_mark: 0.00%
Coverage variation details | | Coverable lines | Covered lines | Coverage | | ------------- | ------------- | ------------- | ------------- | | Common ancestor commit (f5145d09ee98c451455baebec2037eb96a397fe1) | Report Missing | Report Missing | Report Missing | | | Head commit (f504d98559731b9f9979e1604022d3de5da3a71b) | 1246 | 2 | 0.16% | **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 (#38) | 54 | 0 | **0.00%** | **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 [^1]: Codacy didn't receive coverage data for the commit, or there was an error processing the received data. Check your integration for errors and validate that your coverage setup is correct.

liamhuber commented 3 months ago

Notebooks failure is missing dependency:

---------------------------------------------------------------------------
Exception encountered at "In [6]":
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
File ~/work/pyiron_nodes/pyiron_nodes/cached-miniforge/my-env/lib/python3.11/site-packages/structuretoolkit/visualize.py:332, in _plot3d(structure, show_cell, show_axes, camera, spacefill, particle_size, select_atoms, background, color_scheme, colors, scalar_field, scalar_start, scalar_end, scalar_cmap, vector_field, vector_color, magnetic_moments, view_plane, distance_from_camera)
    331 try:  # If the graphical packages are not available, the GUI will not work.
--> 332     import nglview
    333 except ImportError:

ModuleNotFoundError: No module named 'nglview'