HyperAgents / hmas

An ontology to describe Hypermedia Multi-Agent Systems, interactions, and organizations.
https://purl.org/hmas/
1 stars 0 forks source link

Github Action fails (see #269) #168

Open NicoRobertIn opened 9 months ago

NicoRobertIn commented 9 months ago

Describe the bug Github Action workflow fails systematically during the pyLODE installation process

To Reproduce Just trigger the Gihub Action integration workflow. The sanity of the project does not matter.

Expected behavior Starting from a sane project state, the workflow should execute properly

Screenshots image See Action #269 for more details

Additional context

The installation process looks like as follows:

  1. The GithubAction workflow described in .github/workflows/deploy.yml begins
  2. During this process the requirements in .acimov/requirements.txt are installed
  3. The requirements of pyLODE dependencies are then installed
  4. This requirements end with the installation of pylode@git+https://github.com/HyperAgents/pyLODE@skos_tags
  5. In the tag skos_tags, the setup.py file begins with imports, and one of these involves importing an element of the library that is being installed
  6. This import lauches a execution cascade of the init.py files in the library hierarchy
  7. This cascade ends up with imports of libraries that are supposed to be dependencies of the one that is being installed
  8. We finally have the No module named 'markdown' error

@maximelefrancois86 wondered why this error is here since the dependencies are mentioned in .acimov/requirements.txt

My point is even if it can be intriguing, the problem is elsewhere: we have 2 problems:

The solutions that we could adopt:

What are your thoughts about it?

FabienGandon commented 7 months ago

@NicoRobertIn is this issue still a problem or was it fixed?

NicoRobertIn commented 7 months ago

The deploy.yml action seems to have been re executed successfully 2 weeks ago here: https://github.com/HyperAgents/hmas/actions/runs/6849799887

The problem was that pyLODE was importing its own dependencies before installing them In the current version of the workflow we can see 2 things:

That was the solution proposed by @maximelefrancois86 to solve the problem without changing the library architecture too much We could eventually prefer the library to install its own dependencies before installing itself, but for now it solves the problem

maximelefrancois86 commented 7 months ago

As discussed, this is not the cleanest solution, but it solved the issues in the workflow (up to last week 😉https://github.com/HyperAgents/hmas/actions/runs/6947694791 )

Ultimately, we may merge the latest version of pyLODE v3 to our fork. I bet they have fixed this issue for us.